마음만은 새내기

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

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 문제는 나중에라도 올려드릴게요~!