본문 바로가기

Computer Science/Data Structure

(3)
2. Queue (Linear Data Structure-FIFO) public struct Queue { fileprivate var array = [T?]() fileprivate var head = 0 public var isEmpty: Bool { return count == 0 } public var count: Int { return array.count - head // 앞쪽 시작점(Starting Point) = head } public mutating func enqueue(_ element: T) { array.append(element) } public mutating func dequeue() -> T? { guard head 50 && percentage > 0.25 { // 상황에 따라 비우는 기..
1. Stack (Linear Data Structure-LIFO) * Module(import, Package(Source-Files/Code) Units)* Access Control (Encapsulation)- open(상속/오버라이드)/public: 모듈 외부 사용> internal(default): 특정 모듈(앱) 내 사용> firePrivate(같은 소스 파일 내) / private: 같은 클래스, 구조체 내 사용// mutating 키워드: 인스턴스에서 내부 값 수정 가능// Generic T(Type Parameter: Any)public struct Stack { fileprivate var arr = [T]() public var isEmpty: Bool { return arr.isEmpty } public var count: Int { ..
Data Structure & Algorithm Overview [Data Structure Overview] (Depending on programming language)+ Heaps → Priority Queue[Algorithm Overview] Examples)Binary Search (이진 탐색)DFS, BFS (깊이/너비 우선 탐색)Greedy (탐욕)Brute-Force Search (완전 탐색) -백트래킹/재귀/순열-조합 Advanced Simulation (구현) - 문자열/시나리오Sort (정렬) - Insertion / Counting / Quick / Selection / Heap / Merge최단 경로  - Floyd Warshall / Dijkstra's / Bellman FordKruskal's / Prim (크루스칼/프림)Prefix ..