🐣/자료구조(10)
-
[Swift] (자료구조) 배열 / Array
1. 배열 (Array)정의: 고정된 순서로 데이터를 저장하는 선형 자료구조.특징:순서가 중요한 데이터 저장에 적합.상수 시간 복잡도(O(1))로 인덱스를 통해 접근 가능.장점:간단하고 사용이 쉬움.순차적 데이터 처리에 적합.단점:크기 변경이 비효율적. Array | Apple Developer DocumentationAn ordered, random-access collection.developer.apple.com // An array of 'Int' elementslet oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]// An array of 'String' elementslet streets = ["Albemarle", "Brandywine", "Chesapeake"]/..
2024.12.27 -
[Swift] (자료구조) 해쉬 / Hash
Swift의 Hash (해시)와 관련 자료구조Swift는 Hashable 프로토콜과 이를 기반으로 하는 자료구조를 통해 해시 개념을 구현합니다. Swift의 해시 구조는 효율적인 데이터 검색, 삽입, 삭제를 위해 사용되며, 주로 Set과 Dictionary에서 활용됩니다.1. Swift의 해시(Hash) 개념Hashable 프로토콜Swift에서 해시 가능한 객체는 Hashable 프로토콜을 준수해야 합니다.Hashable은 객체를 고유의 해시 값(Hash Value)으로 변환할 수 있도록 지원합니다.사용 목적:객체를 딕셔너리(Dictionary)의 키로 사용하거나, 집합(Set)에서 중복 제거와 비교를 수행.핵심 메서드:hash(into:):객체의 해시 값을 계산.==:두 객체의 동등성을 비교.struc..
2024.03.06 -
[Swift] (자료구조) 이진 탐색 트리 / Binary Search Tree
import Foundation struct BinarySearchTree { var root: TreeNode? mutating func add(data: T) { let node = TreeNode(data: data) if root == nil { self.root = node return } self.add(newNode: node, under: root) } func search(data: T) -> TreeNode? { return self.search(data: data, in: root) } func delete(data: T) -> T? { return delete(data: data, at: root) } private func delete(data: T, at node: TreeNod..
2022.09.01 -
[Swift] (자료구조) 트리와 이진 트리 / Binary Tree
import Foundationstruct BinaryTree { var root: TreeNode? mutating func add(data: T) { let treeNode = TreeNode(data: data) if self.root == nil { self.root = treeNode return } self.add(newNode: treeNode, to: root!) } func printInorder() { print("\n==== Inorder ====") self.printInorder(node: self.root) print(..
2022.09.01 -
[Swift] (자료구조) 우선순위 큐 / Priority Queue
import Foundationstruct PriorityQueue { var heap: Heap init(_ elements: [T] = [], _ sort: @escaping (T, T) -> Bool) { heap = Heap(elements: elements, sortFunction: sort) } var count : Int { return heap.count } var isEmpty : Bool { return heap.isEmpty } func top () -> T? { return heap.peek } mutating func clear () { whil..
2022.08.26