강의 내용을 단순 정리하는 것에서 벗어나서 능동적으로 다른 영상이나 자료들을 찾아가면서 공부했다.
정렬 알고리즘
선택정렬 (Selection sort)
우선 모든 정렬 알고리즘은 오름차순 정렬 기준으로 설명한다. 선택정렬은 특정 자리에 와야 할 요소를 전체에서 선택해서 넣는 알고리즘이다. 예를 들어 0번 인덱스에 와야 할 값은 가장 작은 값인데, 배열을 전체적으로 훑으며 가장 작은 min값을 선택하여 0번 인덱스에 넣는 것이다. 0번 인덱스가 채워졌으면 이제 1번부터 차례로 반복하며 정렬한다.
삽입정렬 (Insertion sort)
각 인덱스에 어떤 값이 들어가는 지 선택한 선택정렬과 다르게 삽입정렬은 각 값이 어떤 인덱스에 가야할 지 찾는 알고리즘이다. 배열의 앞 부분에서부터 차례로 조금씩 정렬해나가는 알고리즘이다. 각 인덱스의 값들을 보며 앞쪽에 이미 정렬된 부분의 어느 위치에 가야할 지 값들을 비교해나가며 위치를 선정한다.
Big-O Notation
점근 표기법이라고도 부르며, 인풋의 갯수 n에 대한 식으로 알고리즘의 연산 횟수를 나타내었을 때, n의 영향력이 가장 큰 최고차항만 계수를 제외하고 나타내는 표기법이다. 점금 표기법의 핵심은 n이 아주 큰 수라고 가정하는 것이다. 그래서 최고차항의 계수를 무시해도 될 만큼 영향력이 커지기 때문에 이나 이나 같은 인 것이다.
파이썬 내장 메서드의 시간복잡도 정리
Operation | Code | Average Case |
---|---|---|
인덱싱 | my_list[index] | |
정렬 | my_list.sort()sorted(my_list) | |
뒤집기 | my_list.reverse() | |
탐색 | element in my_list | |
끝에 요소 추가 | my_list.append(element) | |
중간에 요소 추가 | my_list.insert(index, element) | |
삭제 | del my_list[index] | |
최솟값, 최댓값 찾기 | min(my_list)max(my_list) | |
길이 구하기 | len(my_list) | |
슬라이싱 | my_list[a:b] |
자바스크립트 this
정리한 내용은 여기에서
웹 컴포넌트
자세한 정리내용은 여기에서 참고
AJAX
자세한 정리내용은 여기에서 참고
코드잇 부트캠프에서 1차 평가가 있었다. 많이 어려웠던 것 같다. 지금까지 공부한 내용들이 머릿속에서 제대로 정리가 되어 있지 않다는 것을 느꼈고, 이건 이거 아닌가? 이런걸로 알고있는데? 와 같이 100% 확신이 들지 않은 채로 머릿속에 떠다니는 지식이 많은 것 같다.