자료구조
교수님 톤이 편하고 안정적이라 듣기 좋다.
그리고 되게 편하게 말씀해주셔서 재밌음
되게 해맑으셔서 에너지에 전염되는 느낌
첫강부터 느낌이 좋다!
자료와 정보의 차이
자료 : data
정보 : information
자료구조에서는 자료구조의 개념부터 출발해서
이번 강의에서는 추상화 / 알고리즘과 자료구조의 관계 / 정의된 자료구조와 사용자정의 자료구조의 차이 / 프로그램의 성능분석과 측정 방법의 차이를 학습 목표로 한다.
P(D) ===> I
I = P(D)
자료의 가공한 결과를 정보라고하낟.
자료는 실세계의 측정값임
그것을 처리해주는 기기가 컴퓨터고
빅데이터를 전처리까지 하는 것을 big Data로 묶을 수 있다.
그리고 그것을 deep learning, ML로 처리하는 것 까지를 big Data로 크게 묶을 수 있다.
추상화의 목적 -> 의사소통
자료구조 : 자료를 추상화 시킨 것 (공통점을 묶어서 정의)
알고리즘 : 컴퓨터에게 시킬 일을 추상화 시킨 것
좋은 자료구조가 좋은 알고리즘을 만든다
자료의 추상화가 자료구조, 행위의 추상화가 알고리즘이라고 생각하면 될것같다.
출력값이 즉 정보가 되게 된다.
자료구조 - 추상 자료형 - 알고리즘
한단계 더 추가됨.
자료구조를 보다 수학적이고 논리적으로 .표현한 것으로 볼 수 있다.
자료구조의 구분
(미리 정의된 자료구조 / 사용자 정의 자료구조)
후자에는 : 리스트, 트리 , 스택, 그래프 큐 등.
개발자가 정의하는 자료구조
알고리즘의 조건
1. 출력
2. 유효성
3. 입력
4. 명확성
5. 유한성
알고리즘의 성능분석 및 측정
예측 실행시간을 추정함
O(n) 빅 오 라고 함.
메모리를 분석하는 것도있음
고정공간
-정적할당
가변공간
-동적할당
공간복잡도 = 고정공간 + 가변공간 -> 알고리즘의 성능
혹은 실제로 시간 측정해버리는 것도 있는데
.. 비용이 너무 크다.
(너무 비효율적!)
측정보다는 수학적 모델 O(n)을 활용한 분석을 한다.