시간 복잡도 : 알고리즘의 실행 속도, 공간 복잡도 : 알고리즘이 사용하는 메모리 크기
인접한 2개의 데이터를 비교해, 앞의 데이터가 뒤의 데이터보다 크면 자리를 바꾸는 정렬 알고리즘
주어진 데이터 중 최소값을 찾아 맨 앞에 위치한 데이터와 바꾸는 정렬 알고리즘으로, O(N^2) 시간복잡도를 가진다.
삽입 정렬은 필요할 때만 위치를 바꾸며 시간 복잡도는 : O(N^2)
분할 정복 방법으로 숫자를 정렬하는 알고리즘 데이터를 잘게(길이가 1이 되도록) 쪼개 두개씩 크기를 비교해 정렬하는 알고리즘
대표적인 분할정복 알고리즘으로, 특정한 값(pivot)을 기준으로 큰 값과 작은 값을 나누는 정렬 알고리즘
트리는 계층적인 자료를 표현하는데 사용되는 자료 구조로, 노드의 자식이 최대 2개인 트리를 이진트리라고 한다.
이진 트리 중에서 왼쪽에는 부모 노드보다 작은 값이 오고, 오른쪽에는 부모 노드보다 큰 값이 오는 트리를 이진 탐색 트리 라고 한다.
그래프는 연결되어 있는 객체 간의 관계를 표현할 수 있는 자료 구조다.
그래프를 탐색하는 방법에는 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS)이 있다.
정렬 H-index
각 숫자의 횟수를 저장하는 방법
sort( )와 sorted( )
연결리스트
연결리스트 insert, delete, find
연결 리스트를 역순으로 만들기
#234. 팰린드롬 연결 리스트
정렬된 두 연결리스트 병합하기
#2. 두 연결 리스트의 덧셈
홀짝 연결 리스트
괄호 짝이 맞는지 검사
큐로 스택 구현하기
스택을 이용해 큐 구현하기
원형 큐 구현하기
deque
리스트로 스택 구현
단어 뒤집기, 슬라이싱, join
스택
해시 함수란 임의 크기 데이터를 고정 크기 값으로 매핑하는 함수이다.