You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.markdown
+7-12Lines changed: 7 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,7 @@ If you're a computer science student who needs to learn this stuff for exams --
8
8
9
9
The goal of this project is to **explain how algorithms work**. The focus is on clarity and readability of the code, not on making a reusable library that you can drop into your own projects. That said, most of the code should be ready for production use but you may need to tweak it to fit into your own codebase.
10
10
11
-
Most code is compatible with **Xcode 8.2** and **Swift 3**. We'll keep this updated with the latest version of Swift.
12
-
13
-
This is a work in progress. More algorithms will be added soon. :-)
11
+
Most code is compatible with **Xcode 8.3** and **Swift 3**. We'll keep this updated with the latest version of Swift.
14
12
15
13
:heart_eyes:**Suggestions and contributions are welcome!**:heart_eyes:
16
14
@@ -24,9 +22,7 @@ This is a work in progress. More algorithms will be added soon. :-)
24
22
25
23
[Algorithm design techniques](Algorithm%20Design.markdown). How do you create your own algorithms?
26
24
27
-
[How to contribute](How%20to%20Contribute.markdown). Report an issue to leave feedback, or submit a pull request.
28
-
29
-
[Under construction](Under%20Construction.markdown). Algorithms that are under construction.
25
+
[How to contribute](https://github.com/raywenderlich/swift-algorithm-club/blob/master/.github/CONTRIBUTING.md). Report an issue to leave feedback, or submit a pull request.
30
26
31
27
## Where to start?
32
28
@@ -56,7 +52,7 @@ If you're new to algorithms and data structures, here are a few good ones to sta
56
52
57
53
-[Brute-Force String Search](Brute-Force%20String%20Search/). A naive method.
58
54
-[Boyer-Moore](Boyer-Moore/). A fast method to search for substrings. It skips ahead based on a look-up table, to avoid looking at every character in the text.
59
-
- Knuth-Morris-Pratt
55
+
-[Knuth-Morris-Pratt](Knuth-Morris-Pratt/). A linear-time string algorithm that returns indexes of all occurrencies of a given pattern.
60
56
-[Rabin-Karp](Rabin-Karp/) Faster search by using hashing.
61
57
-[Longest Common Subsequence](Longest%20Common%20Subsequence/). Find the longest sequence of characters that appear in the same order in both strings.
62
58
-[Z-Algorithm](Z-Algorithm/). Finds all instances of a pattern in a String, and returns the indexes of where the pattern starts within the String.
@@ -103,7 +99,6 @@ Bad sorting algorithms (don't use these!):
103
99
-[Greatest Common Divisor (GCD)](GCD/). Special bonus: the least common multiple.
104
100
-[Permutations and Combinations](Combinatorics/). Get your combinatorics on!
105
101
-[Shunting Yard Algorithm](Shunting%20Yard/). Convert infix expressions to postfix.
106
-
- Statistics
107
102
-[Karatsuba Multiplication](Karatsuba%20Multiplication/). Another take on elementary multiplication.
108
103
-[Haversine Distance](HaversineDistance/). Calculating the distance between 2 points from a sphere.
109
104
-[Strassen's Multiplication Matrix](Strassen%20Matrix%20Multiplication/). Efficient way to handle matrix multiplication.
@@ -112,7 +107,7 @@ Bad sorting algorithms (don't use these!):
112
107
113
108
-[k-Means Clustering](K-Means/). Unsupervised classifier that partitions data into *k* clusters.
114
109
- k-Nearest Neighbors
115
-
-[Linear Regression](Linear%20Regression/)
110
+
-[Linear Regression](Linear%20Regression/). A technique for creating a model of the relationship between two (or more) variable quantities.
116
111
- Logistic Regression
117
112
- Neural Networks
118
113
- PageRank
@@ -153,9 +148,9 @@ Most of the time using just the built-in `Array`, `Dictionary`, and `Set` types
153
148
-[Tree](Tree/). A general-purpose tree structure.
154
149
-[Binary Tree](Binary%20Tree/). A tree where each node has at most two children.
155
150
-[Binary Search Tree (BST)](Binary%20Search%20Tree/). A binary tree that orders its nodes in a way that allows for fast queries.
156
-
- Red-Black Tree
151
+
-[Red-Black Tree](Red-Black%20Tree/). A self balancing binary search tree.
157
152
- Splay Tree
158
-
- Threaded Binary Tree
153
+
-[Threaded Binary Tree](Threaded%20Binary%20Tree/). A binary tree that maintains a few extra variables for cheap and fast in-order traversals.
159
154
-[Segment Tree](Segment%20Tree/). Can quickly compute a function over a portion of an array.
160
155
- kd-Tree
161
156
-[Heap](Heap/). A binary tree stored in an array, so it doesn't use pointers. Makes a great priority queue.
@@ -226,7 +221,7 @@ Other algorithm repositories:
226
221
227
222
The Swift Algorithm Club was originally created by [Matthijs Hollemans](https://github.com/hollance).
228
223
229
-
It is now maintained by [Vincent Ngo](https://www.raywenderlich.com/u/jomoka) and [Kelvin Lau](https://github.com/kelvinlauKL).
224
+
It is now maintained by [Vincent Ngo](https://www.raywenderlich.com/u/jomoka), [Kelvin Lau](https://github.com/kelvinlauKL) and [Ross O'brien](https://www.raywenderlich.com/u/narrativium).
230
225
231
226
The Swift Algorithm Club is a collaborative effort from the [most algorithmic members](https://github.com/rwenderlich/swift-algorithm-club/graphs/contributors) of the [raywenderlich.com](https://www.raywenderlich.com) community. We're always looking for help - why not [join the club](How%20to%20Contribute.markdown)? :]
0 commit comments