마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

2019 수업 노트

2019-1학기 수업 노트 (자료구조 1, 2019.03.14. ~ 15.)

동동매니저 2019. 3. 16. 10:39

「2019학년도 1학기」 ///

by. 동동매니저 >_<


일자 : 2019년 03월 14일 (목) ~ 15일 (금)

과목 : 자료구조 1

담당 교수님 : SCH 컴소공 홍민 교수님


이번 수업의 핵심 키워드!!

자료구조의 종류

알고리즘

알고리즘 표현 방법


수업 내용을 요약해보면?

▶ 대부분의 프로그램은 자료를 처리하고 있고, 자료구조를 사용하여 표현, 저장됨.

(자료구조의 예시 : 리스트, 스택, 큐, 트리, 그래프 등...)

알고리즘 : 주어진 문제를 처리하는 절차

▶ 자료구조가 결정되면, 그 자료구조에서 사용 가능한 알고리즘이 결정


☆ 알고리즘의 정의

• 입력 : 0개 이상의 입력

• 출력 : 1개 이상의 출력

• 명백성 : 명령어의 의미가 명확해야 함. (모호하면 안돼요!!)

• 유한성 : 일정 단계 후에 반드시!! 끝나야 함. (만약 무한 루프에 빠진다면...)

• 유효셩 : 각 명령어들은 실행 가능해야 함. (예 : 1/0과 같은 연산은 안돼요!!)


☆ 알고리즘의 표현 방법

자연어 : 의미가 명확해야 함.

흐름도 : 알고리즘이 복잡해진다면... 힘들겠죠?

유사 코드 : 자연어보다 체계적, 프로그래밍 언어보다 덜 엄격하며, 주로 사용하는 방법 중 하나!!

프로그래밍 언어 : C, Java 등의 언어


수업을 듣고 나서 느낀 점!!

교수님께서 아직 배우지는 않았지만, 이진 트리에 대한 설명을 잠깐 해주셨음.

예를 들어 좌측에 작은 수, 우측에 큰 수를 갖는 이진 트리에서 어떤 수를 찾을 때, 순차 탐색에 비해 효율적인 속도를 갖다고 하셨음.

(하지만 단점도 있겠죠? 아직 배우지 않은 부분이라서...)

작년에도 C언어 수업 때 이진 탐색에 대한 부분을 살짝 배우긴 했음.

또한, 스택과 큐의 예시를 들고, 상황에 따라 다른 자료구조를 사용하는 것도 나쁘지 않다고 생각하였음.


기타 참고 사항!!

수업이 끝나고, 각자 출력한 Report를 제출하였음.

나중에라도 Report에 나왔던 문제를 공유하고싶으나... 부정 행위 금지라는 교수님의 말씀이 떠올라서...

Report 문제는 나중에라도 올려드릴게요~!