⛓ 자료구조2 [Swift] Segment Tree class SegmentTree { var arr: [Int] var tree: [Int] init(_ arr: [Int]) { self.arr = arr self.tree = [Int](repeating: 0, count: arr.count * 4) initTree(start: 0, end: arr.count - 1, node: 1) } @discardableResult private func initTree(start: Int, end: Int, node: Int) -> Int { if start == end { tree[node] = arr[start] return tree[node] } let mid = (start + end) / 2 let leftNode = initTree(start: sta.. 2022. 11. 1. Doubly Linked List 더블리 링크드 리스트 class Node: Equatable { var value: T var next: Node? var prev: Node? init(_ value: T, prev: Node? = nil, next: Node? = nil) { self.value = value self.prev = prev self.next = next } static func ==(lhs: Node, rhs: Node) -> Bool { return lhs.next == rhs.next } } class DoublyLinkedList { var head: Node? = nil var tail: Node? = nil var isEmpty: Bool { head == nil } var count: Int { var cu.. 2022. 10. 27. 이전 1 다음