새싹교실/2018/C알/5월1일 (rev. 1.8)
- C언어 문법은 일단 여기까지
- 본격적 알고리즘 시작
- 선형 자료 구조(linear data structure)
- 배열(array) : fixed-sized collection of contiguous data
- 연결 리스트(linked list) : sequential of data linked by pointer
- array v.s. linked list
- algorithms for sequential data
- 탐색(search)
- 선형 탐색(linear search)
- 이진 탐색(binary search)
- 정렬(sort)
- 선택 정렬(selection sort)
- 삽입 정렬(insertion sort)
- 병합 정렬(merge sort)
- 퀵 정렬(quick sort)
- performance
- big-O notation(big-Omega, big-Theta)
- speed, time complexity
- memory, space complexity, in-place sort
- stablity
- swap sort v.s. others
- e.g) counting sort, radix sort
- 이번주는 일정이 안맞아 휴강; 다음주에 이 내용으로 진행합니다.
- selection_sort, insertion_sort, merge_sort, quick_sort(,bubble_sort : optional)
- <sort_instruction> input_file output_file
- any language
- input :
- 1st line : # of line N
- 2nd ~ : (unsorted) N integers
- output:
- N line : sorted N integers
- N + 1 line : elapsed time (in millisecond)
- print in output file; if no argument, to standard output(terminal console)