★ 「2019학년도 1학기」 수/업/노/트 ★
by. 동동매니저 >_<
▶ 일자 : 2019년 03월 14일 (목) ~ 15일 (금)
▶ 과목 : 자료구조 1
▶ 담당 교수님 : SCH 컴소공 홍민 교수님
※ 이번 수업의 핵심 키워드!!
자료구조의 종류
알고리즘
알고리즘 표현 방법
※ 수업 내용을 요약해보면?
▶ 대부분의 프로그램은 자료를 처리하고 있고, 자료구조를 사용하여 표현, 저장됨.
(자료구조의 예시 : 리스트, 스택, 큐, 트리, 그래프 등...)
▶ 알고리즘 : 주어진 문제를 처리하는 절차
▶ 자료구조가 결정되면, 그 자료구조에서 사용 가능한 알고리즘이 결정
☆ 알고리즘의 정의
• 입력 : 0개 이상의 입력
• 출력 : 1개 이상의 출력
• 명백성 : 명령어의 의미가 명확해야 함. (모호하면 안돼요!!)
• 유한성 : 일정 단계 후에 반드시!! 끝나야 함. (만약 무한 루프에 빠진다면...)
• 유효셩 : 각 명령어들은 실행 가능해야 함. (예 : 1/0과 같은 연산은 안돼요!!)
☆ 알고리즘의 표현 방법
• 자연어 : 의미가 명확해야 함.
• 흐름도 : 알고리즘이 복잡해진다면... 힘들겠죠?
• 유사 코드 : 자연어보다 체계적, 프로그래밍 언어보다 덜 엄격하며, 주로 사용하는 방법 중 하나!!
• 프로그래밍 언어 : C, Java 등의 언어
※ 수업을 듣고 나서 느낀 점!!
교수님께서 아직 배우지는 않았지만, 이진 트리에 대한 설명을 잠깐 해주셨음.
예를 들어 좌측에 작은 수, 우측에 큰 수를 갖는 이진 트리에서 어떤 수를 찾을 때, 순차 탐색에 비해 효율적인 속도를 갖다고 하셨음.
(하지만 단점도 있겠죠? 아직 배우지 않은 부분이라서...)
작년에도 C언어 수업 때 이진 탐색에 대한 부분을 살짝 배우긴 했음.
또한, 스택과 큐의 예시를 들고, 상황에 따라 다른 자료구조를 사용하는 것도 나쁘지 않다고 생각하였음.
※ 기타 참고 사항!!
수업이 끝나고, 각자 출력한 Report를 제출하였음.
나중에라도 Report에 나왔던 문제를 공유하고싶으나... 부정 행위 금지라는 교수님의 말씀이 떠올라서...
Report 문제는 나중에라도 올려드릴게요~!