gitextract_cau619vu/ ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .swiftlint.yml ├── 3Sum and 4Sum/ │ ├── 3Sum.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── 4Sum.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.md ├── A-Star/ │ ├── AStar.swift │ ├── Images/ │ │ ├── graph.dot │ │ ├── step1.dot │ │ ├── step2.dot │ │ ├── step3.dot │ │ ├── step4.dot │ │ ├── step5.dot │ │ ├── step6.dot │ │ └── step7.dot │ ├── README.md │ └── Tests/ │ ├── AStarTests.swift │ ├── AStarTests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── AStarTests.xcscheme │ └── Info.plist ├── AVL Tree/ │ ├── AVLTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── AVLTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── AVLTree.swift │ ├── Images/ │ │ ├── BalanceNotOK.graffle │ │ ├── BalanceOK.graffle │ │ ├── Balanced.graffle │ │ ├── Height.graffle │ │ └── Unbalanced.graffle │ ├── README.markdown │ └── Tests/ │ ├── AVLTreeTests.swift │ ├── Info.plist │ ├── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── TreeNodeTests.swift ├── Algorithm Design.markdown ├── All-Pairs Shortest Paths/ │ ├── APSP/ │ │ ├── APSP/ │ │ │ ├── APSP.h │ │ │ ├── APSP.swift │ │ │ ├── FloydWarshall.swift │ │ │ ├── Helpers.swift │ │ │ └── Info.plist │ │ ├── APSP.playground/ │ │ │ ├── Contents.swift │ │ │ ├── contents.xcplayground │ │ │ ├── playground.xcworkspace/ │ │ │ │ └── contents.xcworkspacedata │ │ │ └── timeline.xctimeline │ │ ├── APSP.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ ├── APSP.xcscheme │ │ │ └── APSPTests.xcscheme │ │ ├── APSP.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ └── APSPTests/ │ │ ├── APSPTests.swift │ │ └── Info.plist │ └── README.markdown ├── Array2D/ │ ├── Array2D.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── Array2D.swift │ ├── README.markdown │ └── Tests/ │ ├── Array2DTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── B-Tree/ │ ├── BTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BTree.swift │ ├── README.md │ └── Tests/ │ ├── Tests/ │ │ ├── BTreeNodeTests.swift │ │ ├── BTreeTests.swift │ │ └── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Big-O Notation.markdown ├── Binary Search/ │ ├── BinarySearch.playground/ │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── BinarySearch.swift │ ├── README.markdown │ └── Tests/ │ ├── BinarySearchTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Binary Search Tree/ │ ├── Images/ │ │ ├── DeleteLeaf.graffle │ │ ├── DeleteOneChild.graffle │ │ ├── DeleteTwoChildren.graffle │ │ ├── MinimumMaximum.graffle │ │ ├── Searching.graffle │ │ ├── Traversing.graffle │ │ ├── Tree1.graffle │ │ └── Tree2.graffle │ ├── README.markdown │ ├── Solution 1/ │ │ ├── BinarySearchTree.playground/ │ │ │ ├── Contents.swift │ │ │ ├── Sources/ │ │ │ │ └── BinarySearchTree.swift │ │ │ ├── contents.xcplayground │ │ │ └── playground.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── Tests/ │ │ ├── BinarySearchTreeTests.swift │ │ ├── Info.plist │ │ └── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── Solution 2/ │ ├── BinarySearchTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BinarySearchTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── BinarySearchTree.swift ├── Binary Tree/ │ ├── BinaryTree.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BinaryTree.swift │ ├── Images/ │ │ ├── BinaryTree.graffle │ │ └── Operations.graffle │ └── README.markdown ├── Bit Set/ │ ├── BitSet.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BitSet.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.markdown ├── Bloom Filter/ │ ├── BloomFilter.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BloomFilter.swift │ ├── README.markdown │ └── Tests/ │ ├── BloomFilterTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Bounded Priority Queue/ │ ├── BoundedPriorityQueue.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BoundedPriorityQueue.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BoundedPriorityQueue.swift │ ├── README.markdown │ └── Tests/ │ ├── BoundedPriorityQueueTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Boyer-Moore-Horspool/ │ ├── BoyerMooreHorspool.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ ├── playground.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── timeline.xctimeline │ ├── BoyerMooreHorspool.swift │ ├── README.markdown │ └── Tests/ │ ├── BoyerMooreHorspoolTests.swift │ ├── BoyerMooreTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Breadth-First Search/ │ ├── BreadthFirstSearch.playground/ │ │ ├── Pages/ │ │ │ └── Simple example.xcplaygroundpage/ │ │ │ └── Contents.swift │ │ ├── Sources/ │ │ │ ├── Edge.swift │ │ │ ├── Graph.swift │ │ │ ├── Node.swift │ │ │ └── Queue.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BreadthFirstSearch.swift │ ├── Images/ │ │ ├── AnimatedExample.graffle │ │ ├── AnimatedExample.psd │ │ └── TraversalTree.graffle │ ├── README.markdown │ └── Tests/ │ ├── BreadthFirstSearchTests.swift │ ├── Graph.swift │ ├── Info.plist │ ├── Queue.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Brute-Force String Search/ │ ├── BruteForceStringSearch.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── BruteForceStringSearch.swift │ └── README.markdown ├── Bubble Sort/ │ ├── MyPlayground.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BubbleSort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.markdown ├── Bucket Sort/ │ ├── BucketSort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── BucketSort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── BucketSort.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── Tests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Closest Pair/ │ ├── ClosestPair.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.markdown ├── Comb Sort/ │ ├── Comb Sort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Comb Sort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── Comb Sort.swift │ ├── README.markdown │ └── Tests/ │ ├── CombSortTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Combinatorics/ │ ├── Combinatorics.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.markdown ├── Convex Hull/ │ ├── Convex Hull/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── LaunchScreen.storyboard │ │ ├── Info.plist │ │ └── View.swift │ ├── Convex Hull.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ ├── README.md │ └── Tests/ │ ├── Info.plist │ └── Tests.swift ├── Count Occurrences/ │ ├── CountOccurrences.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── CountOccurrences.swift │ └── README.markdown ├── CounterClockWise/ │ ├── CounterClockWise.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── CounterClockWise.swift │ └── README.md ├── Counting Sort/ │ ├── CountingSort.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── CountingSort.swift │ ├── README.markdown │ └── Tests/ │ ├── CountingSortTest.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Depth-First Search/ │ ├── DepthFirstSearch.playground/ │ │ ├── Edge.o │ │ ├── Graph.o │ │ ├── Node.o │ │ ├── Pages/ │ │ │ └── Simple Example.xcplaygroundpage/ │ │ │ └── Contents.swift │ │ ├── Sources/ │ │ │ ├── Edge.swift │ │ │ ├── Graph.swift │ │ │ └── Node.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── DepthFirstSearch.swift │ ├── Images/ │ │ ├── AnimatedExample.graffle │ │ ├── AnimatedExample.psd │ │ └── TraversalTree.graffle │ ├── README.markdown │ └── Tests/ │ ├── DepthFirstSearchTests.swift │ ├── Graph.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Deque/ │ ├── Deque-Optimized.swift │ ├── Deque-Simple.swift │ ├── Deque.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.markdown ├── Dijkstra Algorithm/ │ ├── Dijkstra.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── Dijkstra.swift │ │ │ └── Vertex.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── README.md │ └── VisualizedDijkstra.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ ├── CustomUI/ │ │ │ ├── EdgeRepresentation.swift │ │ │ ├── ErrorView.swift │ │ │ ├── MyShapeLayer.swift │ │ │ ├── RoundedButton.swift │ │ │ └── VertexView.swift │ │ ├── Graph.swift │ │ ├── GraphColors.swift │ │ ├── GraphView.swift │ │ ├── SimpleObjects/ │ │ │ ├── Edge.swift │ │ │ └── Vertex.swift │ │ └── Window.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── DiningPhilosophers/ │ ├── DiningPhilosophers.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── DiningPhilosophers.xcscheme │ │ └── xcschememanagement.plist │ ├── LICENSE │ ├── Package.swift │ ├── README.md │ └── Sources/ │ └── main.swift ├── Egg Drop Problem/ │ ├── EggDrop.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── EggDrop.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ ├── EggDrop.swift │ └── README.markdown ├── Encode and Decode Tree/ │ ├── EncodeAndDecodeTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── EncodeAndDecodeTree.swift │ │ └── contents.xcplayground │ ├── EncodeAndDecodeTree.swift │ └── readme.md ├── Fixed Size Array/ │ ├── FixedSizeArray.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ ├── playground.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── timeline.xctimeline │ ├── Images/ │ │ └── FixedSizeArrays.graffle │ └── README.markdown ├── Fizz Buzz/ │ ├── FizzBuzz.playground/ │ │ └── Contents.swift │ ├── FizzBuzz.swift │ └── README.markdown ├── GCD/ │ ├── GCD.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── GCD.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.markdown ├── Genetic/ │ ├── README.markdown │ ├── gen.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── gen.swift ├── Graph/ │ ├── Graph/ │ │ ├── AdjacencyListGraph.swift │ │ ├── AdjacencyMatrixGraph.swift │ │ ├── Edge.swift │ │ ├── Graph.h │ │ ├── Graph.swift │ │ ├── Info.plist │ │ └── Vertex.swift │ ├── Graph.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ ├── playground.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── timeline.xctimeline │ ├── Graph.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── Graph.xcscheme │ │ └── GraphTests.xcscheme │ ├── Graph.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ ├── GraphTests/ │ │ ├── GraphTests.swift │ │ └── Info.plist │ ├── Images/ │ │ ├── AdjacencyList.graffle │ │ ├── AdjacencyMatrix.graffle │ │ ├── ChordMap.graffle │ │ ├── CoreData.graffle │ │ ├── DAG.graffle │ │ ├── Demo1.graffle │ │ ├── Flights.graffle │ │ ├── FlightsDirected.graffle │ │ ├── Graph.graffle │ │ ├── SocialNetwork.graffle │ │ ├── StateMachine.graffle │ │ ├── Tasks.graffle │ │ └── TreeAndList.graffle │ └── README.markdown ├── Hash Set/ │ ├── HashSet.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── HashSet.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── HashSet.swift │ ├── Images/ │ │ └── CombineSets.graffle │ └── README.markdown ├── Hash Table/ │ ├── HashTable.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── HashTable.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── README.markdown ├── Hashed Heap/ │ ├── HashedHeap.swift │ ├── README.markdown │ └── Tests/ │ ├── Hashed Heap Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Hashed Heap Tests.xcscheme │ ├── HashedHeapTests.swift │ └── Info.plist ├── HaversineDistance/ │ ├── HaversineDistance.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.md ├── Heap/ │ ├── Heap.swift │ ├── Images/ │ │ ├── Array.graffle │ │ ├── Heap1.graffle │ │ ├── HeapShape.graffle │ │ ├── Insert1.graffle │ │ ├── Insert2.graffle │ │ ├── Insert3.graffle │ │ ├── LargeHeap.graffle │ │ ├── RegularTree.graffle │ │ ├── Remove1.graffle │ │ ├── Remove2.graffle │ │ ├── Remove3.graffle │ │ ├── Remove4.graffle │ │ ├── Remove5.graffle │ │ └── SortedArray.graffle │ ├── README.markdown │ └── Tests/ │ ├── HeapTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Heap Sort/ │ ├── HeapSort.swift │ ├── Images/ │ │ └── MaxHeap.graffle │ ├── README.markdown │ └── Tests/ │ ├── HeapSortTests.swift │ ├── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Huffman Coding/ │ ├── Huffman.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── Heap.swift │ │ │ ├── Huffman.swift │ │ │ ├── NSData+Bits.swift │ │ │ └── PriorityQueue.swift │ │ ├── contents.xcplayground │ │ ├── playground.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── timeline.xctimeline │ ├── Huffman.swift │ ├── Images/ │ │ ├── BuildTree.graffle │ │ ├── BuildTree.psd │ │ ├── Compression.graffle │ │ ├── Decompression.graffle │ │ └── Tree.graffle │ ├── NSData+Bits.swift │ └── README.markdown ├── Insertion Sort/ │ ├── InsertionSort.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── InsertionSort.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── InsertionSortTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Introsort/ │ ├── HeapSort.swift │ ├── InsertionSort.swift │ ├── IntroSort.swift │ ├── Introsort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── HeapSort.swift │ │ │ ├── InsertionSort.swift │ │ │ ├── Partition.swift │ │ │ ├── Randomize.swift │ │ │ └── Sort3.swift │ │ └── contents.xcplayground │ ├── Partition.swift │ ├── README.markdown │ ├── Randomize.swift │ └── Sort3.swift ├── K-Means/ │ ├── KMeans.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── KMeansTests.swift │ ├── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── Vector.swift ├── Karatsuba Multiplication/ │ ├── KaratsubaMultiplication.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── KaratsubaMultiplication.swift │ ├── README.markdown │ └── Tests/ │ ├── KaratsubaMultiplicationTests.swift │ ├── Tests/ │ │ └── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Knuth-Morris-Pratt/ │ ├── KnuthMorrisPratt.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── KnuthMorrisPratt.swift │ └── README.markdown ├── Kth Largest Element/ │ ├── README.markdown │ └── kthLargest.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ └── kthLargest.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── kthLargest.xcscmblueprint ├── LICENSE.txt ├── LRU Cache/ │ ├── LRUCache.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── LRUCache.swift │ │ │ └── LinkedList.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── LRUCache.swift │ └── Readme.md ├── Linear Regression/ │ ├── LinearRegression.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.markdown ├── Linear Search/ │ ├── LinearSearch.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── LinearSearch.swift │ └── README.markdown ├── Linked List/ │ ├── LinkedList.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── LinkedList.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── LinkedListTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Longest Common Subsequence/ │ ├── LongestCommonSubsequence.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── LongestCommonSubsequence.swift │ ├── README.markdown │ └── Tests/ │ ├── LongestCommonSubsequenceTests.swift │ ├── Tests/ │ │ └── Info.plist │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Merge Sort/ │ ├── MergeSort.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── MergeSort.swift │ └── README.markdown ├── Miller-Rabin Primality Test/ │ ├── MRPrimality.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── MillerRabin.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── MRPrimality.swift │ └── README.markdown ├── Minimum Edit Distance/ │ ├── MinimumEditDistance.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.markdown ├── Minimum Spanning Tree/ │ ├── Kruskal.swift │ ├── MinimumSpanningTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── Graph.swift │ │ │ ├── Heap.swift │ │ │ ├── PriorityQueue.swift │ │ │ └── UnionFind.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── Prim.swift │ └── README.markdown ├── Minimum Spanning Tree (Unweighted)/ │ ├── Images/ │ │ ├── Graph.sketch │ │ ├── MinimumSpanningTree.sketch │ │ └── Tree.graffle │ ├── MinimumSpanningTree.playground/ │ │ ├── Pages/ │ │ │ └── Minimum spanning tree example.xcplaygroundpage/ │ │ │ └── Contents.swift │ │ ├── Sources/ │ │ │ ├── Edge.swift │ │ │ ├── Graph.swift │ │ │ ├── Node.swift │ │ │ └── Queue.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── MinimumSpanningTree.swift │ ├── README.markdown │ └── Tests/ │ ├── Graph.swift │ ├── Info.plist │ ├── MinimumSpanningTreeTests.swift │ ├── Queue.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── MinimumCoinChange/ │ ├── LICENSE │ ├── Package.swift │ ├── README.md │ ├── Sources/ │ │ └── MinimumCoinChange.swift │ └── Tests/ │ ├── LinuxMain.swift │ └── MinimumCoinChangeTests/ │ └── MinimumCoinChangeTests.swift ├── Monty Hall Problem/ │ ├── MontyHall.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.markdown ├── Multiset/ │ ├── Multiset.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Multiset.swift │ │ └── contents.xcplayground │ └── README.markdown ├── Myers Difference Algorithm/ │ ├── MyersDifferenceAlgorithm.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── MyersDifferenceAlgorithm.swift │ │ └── contents.xcplayground │ ├── MyersDifferenceAlgorithm.swift │ └── README.md ├── Naive Bayes Classifier/ │ ├── NaiveBayes.playground/ │ │ ├── Contents.swift │ │ ├── Resources/ │ │ │ └── wine.csv │ │ ├── Sources/ │ │ │ └── NaiveBayes.swift │ │ ├── contents.xcplayground │ │ ├── playground.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── timeline.xctimeline │ ├── NaiveBayes.swift │ └── README.md ├── Octree/ │ ├── Octree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Octree.swift │ │ ├── contents.xcplayground │ │ └── timeline.xctimeline │ └── README.md ├── Ordered Array/ │ ├── OrderedArray.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── OrderedArray.swift │ └── README.markdown ├── Ordered Set/ │ ├── OrderedSet.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── OrderedSet.swift │ │ └── contents.xcplayground │ ├── OrderedSet.swift │ └── README.markdown ├── Palindromes/ │ ├── Palindromes.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Palindrome.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── README.markdown │ └── Test/ │ ├── Palindrome.swift │ ├── Test/ │ │ ├── Info.plist │ │ └── Test.swift │ └── Test.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Test.xcscheme ├── Points Lines Planes/ │ ├── Points Lines Planes/ │ │ ├── 2D/ │ │ │ ├── Line2D.swift │ │ │ └── Point2D.swift │ │ └── main.swift │ ├── Points Lines Planes.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── README.md ├── Priority Queue/ │ ├── PriorityQueue.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── PriorityQueueTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── QuadTree/ │ ├── QuadTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── QuadTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── README.md │ └── Tests/ │ ├── Tests/ │ │ ├── Info.plist │ │ └── Tests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ └── contents.xcworkspacedata ├── Queue/ │ ├── Queue-Optimized.swift │ ├── Queue-Simple.swift │ ├── Queue.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── QueueTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Quicksort/ │ ├── Images/ │ │ └── Example.graffle │ ├── Quicksort.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── Quicksort.swift │ ├── README.markdown │ └── Tests/ │ ├── Info.plist │ ├── QuicksortTests.swift │ ├── SortingTestHelpers.swift │ └── Tests-Quicksort.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests-Quicksort.xcscheme ├── README.markdown ├── Rabin-Karp/ │ ├── README.markdown │ ├── Rabin-Karp.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── rabin-karp.swift ├── Radix Sort/ │ ├── RadixSort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── radixSort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── RadixSortExample.swift │ ├── ReadMe.md │ ├── Tests/ │ │ ├── Info.plist │ │ ├── RadixSortTests.swift │ │ └── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── radixSort.swift ├── Radix Tree/ │ ├── README.markdown │ ├── RadixTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── RadixTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── RadixTree.swift ├── Red-Black Tree/ │ ├── README.markdown │ ├── RedBlackTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── RedBlackTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── RedBlackTree.swift ├── Ring Buffer/ │ ├── README.markdown │ ├── RingBuffer.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── RingBuffer.swift ├── Rootish Array Stack/ │ ├── README.md │ ├── RootishArrayStack.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── RootishArrayStack.swift │ └── Tests/ │ ├── Info.plist │ ├── RootishArrayStack.swift │ ├── RootishArrayStackTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Run-Length Encoding/ │ ├── README.markdown │ └── RLE.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ └── RLE.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ └── contents.xcworkspacedata ├── Segment Tree/ │ ├── LazyPropagation/ │ │ ├── LazyPropagation.playground/ │ │ │ ├── Contents.swift │ │ │ ├── contents.xcplayground │ │ │ └── playground.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── README.markdown │ ├── README.markdown │ ├── SegmentTree.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SegmentTree.swift ├── Select Minimum Maximum/ │ ├── Maximum.swift │ ├── Minimum.swift │ ├── MinimumMaximumPairs.swift │ ├── README.markdown │ ├── SelectMinimumMaximum.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── Tests/ │ ├── Info.plist │ ├── MaximumTests.swift │ ├── MinimumMaximumPairsTests.swift │ ├── MinimumTests.swift │ ├── TestHelper.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Selection Sampling/ │ ├── README.markdown │ ├── SelectionSampling.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SelectionSampling.swift ├── Selection Sort/ │ ├── README.markdown │ ├── SelectionSort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── SelectionSort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── SelectionSort.swift │ └── Tests/ │ ├── Info.plist │ ├── SelectionSortTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Set Cover (Unweighted)/ │ ├── README.markdown │ ├── SetCover.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── RandomArrayOfSets.swift │ │ │ └── SetCover.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SetCover.swift ├── Shell Sort/ │ ├── README.markdown │ ├── Shell Sort.playground/ │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── ShellSortExample.swift │ ├── Tests/ │ │ ├── Info.plist │ │ ├── ShellSortTests.swift │ │ └── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── shellsort.swift ├── Shortest Path (Unweighted)/ │ ├── Images/ │ │ └── Graph.graffle │ ├── README.markdown │ ├── ShortestPath.playground/ │ │ ├── Pages/ │ │ │ └── Shortest path example.xcplaygroundpage/ │ │ │ └── Contents.swift │ │ ├── Sources/ │ │ │ ├── Edge.swift │ │ │ ├── Graph.swift │ │ │ ├── Node.swift │ │ │ └── Queue.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── ShortestPath.swift │ └── Tests/ │ ├── Graph.swift │ ├── Info.plist │ ├── Queue.swift │ ├── ShortestPathTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Shuffle/ │ ├── README.markdown │ ├── Shuffle.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Shuffle.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── Shuffle.swift ├── Shunting Yard/ │ ├── README.markdown │ ├── ShuntingYard.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Stack.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── ShuntingYard.swift ├── Simulated annealing/ │ ├── README.md │ ├── simann.swift │ └── simann_example.swift ├── Single-Source Shortest Paths (Weighted)/ │ ├── README.markdown │ ├── SSSP/ │ │ ├── BellmanFord.swift │ │ ├── Info.plist │ │ ├── SSSP.h │ │ └── SSSP.swift │ ├── SSSP.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── SSSP.xcodeproj/ │ │ ├── project.pbxproj │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── SSSP.xcscheme │ │ └── SSSPTests.xcscheme │ ├── SSSP.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── WorkspaceSettings.xcsettings │ └── SSSPTests/ │ ├── Info.plist │ └── SSSPTests.swift ├── Singly Linked List/ │ ├── KeyValuePair.swift │ ├── README.markdown │ ├── SinglyLinkedList.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── SinglyLinkedList.swift │ └── Tests/ │ ├── Tests/ │ │ ├── Info.plist │ │ └── SinglyLinkedListTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Skip-List/ │ ├── README.md │ ├── SkipList.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── SkipList.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SkipList.swift ├── Slow Sort/ │ ├── README.markdown │ ├── SlowSort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── SlowSort.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SlowSort.swift ├── Sorted Set/ │ ├── README.markdown │ ├── SortedSet.playground/ │ │ ├── Pages/ │ │ │ ├── Example 1.xcplaygroundpage/ │ │ │ │ ├── Contents.swift │ │ │ │ └── timeline.xctimeline │ │ │ ├── Example 2.xcplaygroundpage/ │ │ │ │ └── Contents.swift │ │ │ └── Example 3.xcplaygroundpage/ │ │ │ └── Contents.swift │ │ ├── Sources/ │ │ │ ├── Player.swift │ │ │ ├── Random.swift │ │ │ └── SortedSet.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── SortedSet.swift ├── Sparse Table/ │ ├── README.markdown │ └── Sparse Table.playground/ │ ├── Contents.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ └── contents.xcworkspacedata ├── Splay Tree/ │ ├── SplayTree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── SplayTree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── SplayTree.swift │ ├── Tests/ │ │ ├── Info.plist │ │ ├── SplayTreeTests.swift │ │ ├── Tests-Bridging-Header.h │ │ └── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── readme.md ├── Stack/ │ ├── README.markdown │ ├── Stack.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── Stack.swift │ └── Tests/ │ ├── Info.plist │ ├── StackTests.swift │ └── Tests.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── xcshareddata/ │ └── xcschemes/ │ └── Tests.xcscheme ├── Strassen Matrix Multiplication/ │ ├── README.markdown │ └── StrassensMatrixMultiplication.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ ├── Matrix.swift │ │ └── Number.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ └── contents.xcworkspacedata ├── Ternary Search Tree/ │ ├── README.markdown │ ├── TST.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── TSTNode.swift │ │ │ ├── TernarySearchTree.swift │ │ │ └── Utils.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── TSTNode.swift │ ├── TernarySearchTree.swift │ ├── Tests/ │ │ ├── Info.plist │ │ ├── TernarySearchTreeTests.swift │ │ └── Tests.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Tests.xcscheme │ └── Utils.swift ├── Threaded Binary Tree/ │ ├── README.markdown │ └── ThreadedBinaryTree.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ └── ThreadedBinaryTree.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── Topological Sort/ │ ├── Graph.swift │ ├── Images/ │ │ ├── Algorithms.graffle │ │ ├── Example.graffle │ │ ├── Graph.graffle │ │ ├── GraphResult.graffle │ │ ├── InvalidSort.graffle │ │ └── TopologicalSort.graffle │ ├── README.markdown │ ├── Tests/ │ │ ├── Info.plist │ │ ├── Tests.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ └── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Tests.xcscheme │ │ └── TopologicalSortTests.swift │ ├── Topological Sort.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ ├── Graph.swift │ │ │ ├── TopologicalSort1.swift │ │ │ ├── TopologicalSort2.swift │ │ │ └── TopologicalSort3.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── TopologicalSort1.swift │ ├── TopologicalSort2.swift │ └── TopologicalSort3.swift ├── Treap/ │ ├── Treap/ │ │ ├── Treap/ │ │ │ └── Info.plist │ │ ├── Treap.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Tests.xcscheme │ │ └── TreapTests/ │ │ ├── Info.plist │ │ └── TreapTests.swift │ ├── Treap.swift │ ├── TreapCollectionType.swift │ └── TreapMergeSplit.swift ├── Tree/ │ ├── Images/ │ │ ├── Cycles.graffle │ │ ├── Example.graffle │ │ ├── ParentChildren.graffle │ │ └── Tree.graffle │ ├── README.markdown │ ├── Tree.playground/ │ │ ├── Contents.swift │ │ ├── Sources/ │ │ │ └── Tree.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── Tree.swift ├── Trie/ │ ├── ReadMe.md │ └── Trie/ │ ├── Trie/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ReadMe.md │ │ ├── Trie.swift │ │ ├── ViewController.swift │ │ └── dictionary.txt │ ├── Trie.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcbaselines/ │ │ └── EB798E0A1DFEF79900F0628D.xcbaseline/ │ │ ├── 6ABF2F62-9363-4450-8DE1-D20F57026950.plist │ │ └── Info.plist │ ├── TrieTests/ │ │ ├── Info.plist │ │ └── TrieTests.swift │ └── TrieUITests/ │ ├── Info.plist │ └── TrieUITests.swift ├── Two-Sum Problem/ │ ├── README.markdown │ ├── Solution 1/ │ │ └── 2Sum.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── Solution 2/ │ └── 2Sum.playground/ │ ├── Contents.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── Under Construction.markdown ├── Union-Find/ │ ├── README.markdown │ └── UnionFind.playground/ │ ├── Contents.swift │ ├── Sources/ │ │ ├── UnionFindQuickFind.swift │ │ ├── UnionFindQuickUnion.swift │ │ ├── UnionFindWeightedQuickFind.swift │ │ ├── UnionFindWeightedQuickUnion.swift │ │ └── UnionFindWeightedQuickUnionPathCompression.swift │ ├── contents.xcplayground │ └── playground.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── What are Algorithms.markdown ├── Why Algorithms.markdown ├── Z-Algorithm/ │ ├── README.markdown │ ├── ZAlgorithm.swift │ ├── ZetaAlgorithm.playground/ │ │ ├── Contents.swift │ │ ├── contents.xcplayground │ │ └── playground.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── ZetaAlgorithm.swift ├── gfm-render.sh └── install_swiftlint.sh