SW사관학교 정글_개발일지/자료구조&알고리즘(2)
-
[WEEK03] 트리, BFS, DFS, 이진 탐색 트리
트리 (Tree) 사이클(cycle)이 없는 하나의 연결 그래프(Connected Graph) DAG (Directed Acyclic Graph, 방향성이 있는 비순환 그래프) 용어 정리 노드 (Node) / 가지 (Edge) 루트 (Root) : 트리의 가장 위쪽에 있는 노드, 트리에 하나만 존재 리프 (Leaf) : 가장 아래쪽에 있는 노드 = terminal node = external node 비단말노드 (Non-terminal node) : 리프를 제외한 노드 = internal node 자식 (Child) : 어떤 노드와 아래쪽 가지로 연결된 노드, 리프는 자식을 갖지 않음 부모 (Parent) : 어떤 노드와 위쪽 가지로 연결된 노드, 어떤 노드의 부모는 하나뿐. 루트는 부모를 갖지 않음 형..
2022.10.07 -
[WEEK02] 자료구조 : Stack, Queue, Heap
WEEK02에선 중요한 자료구조인 stack, queue, heap을 배우고 이를 이용해 알고리즘 문제를 푸는 방법을 학습하였다. 각각의 자료구조의 특성과 구현 방법, 연산의 시간 복잡도를 잘 숙지하고 있다가, 문제를 보았을 때 어떤 자료구조를 사용하는 것이 적절한지 빠르게 파악하는 것이 중요할 것 같다. 스택 (Stack) 후입선출 방식 (LIFO) top : push/pop이 이뤄지는 곳 bottom 구성요소 스택 배열 (stk) : list 스택 크기 (capacity) : Int, == len(stk) 스택 포인터 (ptr) : Int 비어있을 때 ptr == 0 가득 차 있을 때 ptr == capacity Empty : pop, peek 호출 시 스택이 비어있으면 내보내는 예외 처리 Full ..
2022.10.06