CS50
CS지식이 전혀 없어서 기초강의로 CS50를 보고 정리.
Computational Thinking
Algorithms
Input이 output이 되기위해 수행될 명령들의 순서적 나열. (정확성과 효율성 중요)
*의사코드
프로그램 작성시 모듈작동 논리를 표현하기 위한 언어. 일반적인 언어로 코드를 흉내내어 알고리즘을 작성
linear search (선형검색)
하나씩 비교하는 검색. 정확하지만 비효율
어떠한 정보도 없을 경우 사용
O(n)
Ω(1)
Binary search (이진검색)
배열이 정렬되어 있을때 절반값을 조건과 비교하여 검색(조건보다 크거나 작거나)
O(log n)
Ω(1)
Bubble sort (버블정렬)
거품이 터지면서 위로 올라가듯, 두개 인접값을 비교하면서 위치를 교환하는 방식.
정렬되어있을 때 더욱 효율적이다.
O(n^2)
Ω(n^2) 정렬이 안되어 있을 경우
Ω(n) 정렬시