전체 글
-
[공식문서] MVC: Model-View-Controller 공부해보기 1/2Archive/iOS & Swift 2021. 6. 13. 00:01
Documentation Archive / Cocoa Core Competencies / Model-View-Controller Model-View-Controller MVC 디자인 패턴은 하나의 앱에서 개체들을 세개의 역할중 하나로 할당함: model, view, controller. 이 패턴은 개체가 앱에서 역할을 수행하는 것 뿐만 아니라 개체가 서로 통신하는 방법을 정의함. 세가지 종류의 개체들 각각은 추상적인 바운더리(경계)에서 분리되고 그 바운더리를 다른 바운더리의 종류의 개체간에 통신을 함. 앱에서 특정 MVC유형의 개체들의 집합은 때때로 계층으로 언급됨. ex model layer MVC는 Cocoa 앱을 위한 좋은 디자인의 중요부분. 이 패턴을 선정함의 이득이 많음. 이런 앱들에서 많은 개..
-
[자료구조] HeapArchive/CS & App 2021. 5. 30. 22:41
자료구조 06 / Heap 정의 정의 Heap : 데이터에서 최대값과 최소값을 빠르게 찾는 완전 이진트리 구조 (Complete Binary Tree) * 완전 이진트리 : Node를 삽입 할때 최하단 왼쪽 Node 부터 차례대로 삽입 힙의 기능 일반적으로 최대값, 최소값을 찾을때 기대값 O(n) 힙에 데이터를 넣는다면 O(logn) 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현등에 활용 구조 Max Heap 구조 1) 각 노드의 값은 해당 노드의 자식노드가 가진 값 보다 크거나 같음 2) 완전 이진트리 형태 Min Heap 구조 1) 각 노드의 값은 해당노드의 자식노드가 가진 값보다 작거나 같음 2) 완전 이진트리 형태 구현 배열을 이용한 Heap 구현 일반적으로 배열로 구현 (완..
-
-
[Function] isPrime - 소수판별Archive/CS & App 2021. 5. 17. 16:12
Function / isPrime - 소수판별 목표 정수 num이 소수인지 판별하기 소수 : Prime Number - 1 보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 자연수, 무리수 구현 github GitHub - keeplo/SwiftTools: 자료구조 알고리즘 등 직/간접적으로 사용가능한 예제 자료구조 알고리즘 등 직/간접적으로 사용가능한 예제. Contribute to keeplo/SwiftTools development by creating an account on GitHub. github.com //Swift 5 // Created by Yongwoo Marco 21.05.31 import Foundation func isPrime(num: Int) -> Bool { if(num..
-
-
[자료구조] Tree - AVL TreeArchive/CS & App 2021. 5. 6. 19:29
자료구조 05 - 4 / Tree - AVL Tree / 정의 AVL 트리(발명자 Adelson-Velsky and Landis), 이진탐색 트리 구조로 스스로 균형을 잡는 데이터 구조중 최초 발명 두 자식 SubTree의 Height는 항상 1 만큼 차이를 유지, 1보다 큰 경우 스스로 균형을 잡음(Rotation) balance factor = abs( height(left subtree) - height(right subtree) ) A의 서브트리의 높이의 차가 1 보다 커지는 경우 Rotation을 진행 원리 Rotation 이해하기 Single Rotation (raywenderlich.com) 불균형이 발생하면 root의 SubTree 중 높이가 높은 SubTree의 최상단 노드를 Pivot ..
-
[자료구조] Tree - Binary Search TreeArchive/CS & App 2021. 5. 6. 00:17
자료구조 05 - 3 / Tree - BinarySearchTree (BST) 정의 이진트리의 종류 중 하나로 Ordered or Sorted Binary Tree로 불림 이진트리로 Subtree가 추가 될때 조건을 가짐, 예를 들어 Current Node 보다 작으면 Left, 크면 Right Child로 추가됨 저장 규칙 (조건)이 좀 더 효율적인 트리로 만들어줌 일반적인 이진트리보다 빠른 탐색 속도를 가진다. 추가 Inserting 추가될 노드의 부모노드가 될때까지의 높이(h)를 거치며 조건에 맞게 자리 잡으므로 O(h) time 소요 탐색 Searching 마찬가지로 추가될 노드의 값을 조건을 확인하며 찾아가므로O(h) time 소요 순회 Traversing In-Order : left -> ro..
-