|
1. 자료구조
1.1 자료구조 (Data Structure) 1.2 추상적 자료형과 자료구조 1.3 자료구조의 종류 2. 배열 (Array) 2.1 배열의 기초개념 2.2 가변 배열 (Jagged Array) 2.3 동적 배열 (Dynamic Array) 2.4 원형 배열 (Circular Array) 2.5 .NET의 배열 클래스 3. 연결 리스트 (Linked List) 3.1 연결 리스트의 기초개념 3.2 단일 연결 리스트 3.3 이중 연결 리스트 3.4 원형 연결 리스트 3.5 원형 단일 연결 리스트의 변형 3.6 .NET의 연결 리스트 4. 큐 (Queue) 4.1 Queue 자료구조 4.2 배열로 구현한 Queue 4.3 연결 리스트로 구현한 Queue 4.4 .NET의 Queue 클래스 5. 스택 (Stack) 5.1 Stack 자료구조 5.2 배열로 구현한 Stack 5.3 연결리스트로 구현한 Stack 5.4 .NET의 Stack 클래스 5.5 스택의 활용 - 수식계산 6. 트리 (Tree) 6.1 Tree 자료구조 6.2 Tree 구조의 표현 N-링크 표현법 왼쪽자식-오른쪽형제노드 표현법 6.3 .NET의 Tree 클래스 7. 이진 트리 (Binary Tree) 7.1 이진 트리 자료구조 7.2 연결리스트를 이용한 이진 트리의 구현 7.3 배열을 이용한 이진 트리의 구현 7.4 이진 트리 순회 (Traversal) 7.5 이진 트리 활용 - 수식트리 7.6 이진 트리의 몇가지 알고리즘 이진 트리 깊이(Depth) 구하기 이진 트리 노드 수 구하기 이진 트리에서 노드 경로 찾기 최소 공통 조상(Lowest Common Ancestor) 구하기 8. 이진 탐색 트리 (Binary Search Tree) 8.1 이진 탐색 트리 자료구조 8.2 이진 탐색 트리 순회 (Traversal) 8.3 이진 탐색 트리의 구현 8.4 이진 탐색 트리의 몇가지 알고리즘 K번째 작은 수 혹은 K번째 큰 수 구하기 중위 순회에서 특정 노드의 다음 노드 찾기 최소 공통 조상(Lowest Common Ancestor) 구하기 이진 트리를 이진 탐색 트리로 변환하기 9. 힙 (Heap) 9.1 Heap 자료구조 9.2 Heap 구현 10. 트라이 (Trie) 10.1 Trie 자료구조 10.2 Trie 구현 10.3 Trie로 Auto Complete 기능 구현 11. 해시테이블 (Hash Table) 11.1 해시테이블 자료구조 11.2 해시 함수 11.3 해시 충돌 (Hash Collision) Chaining 방식 Open Addressing 방식 11.4 해시테이블 구현 11.5 .NET의 해시테이블 12. 그래프 (Graph) 12.1 그래프(Graph) 자료구조 12.2 그래프의 종류 12.3 그래프의 표현 인접 리스트(Adjacency List) 다양한 인접 리스트 표현 인접 행렬(Adjacency Matrix) 12.4 그래프의 탐색 깊이 우선 탐색 너비 우선 탐색 깊이 우선 탐색(DFS) 구현 너비 우선 탐색(BFS) 구현 12.5 그래프의 몇가지 알고리즘 위상 정렬 (Topological Sort) 최소 신장트리 (Minimum Spanning Tree) 최단경로 (Shortest Path) 알고리즘 |