Skip to content

Commit ea0ec01

Browse files
authored
Merge pull request kodecocodes#411 from kyungkoo/master
fixed broken link
2 parents 74c4ae8 + 306ef65 commit ea0ec01

File tree

1 file changed

+50
-50
lines changed

1 file changed

+50
-50
lines changed

README.markdown

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -34,31 +34,31 @@ If you're new to algorithms and data structures, here are a few good ones to sta
3434

3535
- [Stack](Stack/)
3636
- [Queue](Queue/)
37-
- [Insertion Sort](Insertion Sort/)
38-
- [Binary Search](Binary Search/) and [Binary Search Tree](Binary Search Tree/)
39-
- [Merge Sort](Merge Sort/)
37+
- [Insertion Sort](Insertion%20Sort/)
38+
- [Binary Search](Binary%20Search/) and [Binary Search Tree](Binary%20Search%20Tree/)
39+
- [Merge Sort](Merge%20Sort/)
4040
- [Boyer-Moore string search](Boyer-Moore/)
4141

4242
## The algorithms
4343

4444
### Searching
4545

46-
- [Linear Search](Linear Search/). Find an element in an array.
47-
- [Binary Search](Binary Search/). Quickly find elements in a sorted array.
48-
- [Count Occurrences](Count Occurrences/). Count how often a value appears in an array.
49-
- [Select Minimum / Maximum](Select Minimum Maximum). Find the minimum/maximum value in an array.
50-
- [k-th Largest Element](Kth Largest Element/). Find the *k*-th largest element in an array, such as the median.
51-
- [Selection Sampling](Selection Sampling/). Randomly choose a bunch of items from a collection.
46+
- [Linear Search](Linear%20Search/). Find an element in an array.
47+
- [Binary Search](Binary%20Search/). Quickly find elements in a sorted array.
48+
- [Count Occurrences](Count%20Occurrences/). Count how often a value appears in an array.
49+
- [Select Minimum / Maximum](Select%20Minimum%20Maximum). Find the minimum/maximum value in an array.
50+
- [k-th Largest Element](Kth%20Largest%20Element/). Find the *k*-th largest element in an array, such as the median.
51+
- [Selection Sampling](Selection%20Sampling/). Randomly choose a bunch of items from a collection.
5252
- [Union-Find](Union-Find/). Keeps track of disjoint sets and lets you quickly merge them.
5353

5454

5555
### String Search
5656

57-
- [Brute-Force String Search](Brute-Force String Search/). A naive method.
57+
- [Brute-Force String Search](Brute-Force%20String%20Search/). A naive method.
5858
- [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.
5959
- Knuth-Morris-Pratt
6060
- [Rabin-Karp](Rabin-Karp/) Faster search by using hashing.
61-
- [Longest Common Subsequence](Longest Common Subsequence/). Find the longest sequence of characters that appear in the same order in both strings.
61+
- [Longest Common Subsequence](Longest%20Common%20Subsequence/). Find the longest sequence of characters that appear in the same order in both strings.
6262
- [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.
6363

6464
### Sorting
@@ -67,51 +67,51 @@ It's fun to see how sorting algorithms work, but in practice you'll almost never
6767

6868
Basic sorts:
6969

70-
- [Insertion Sort](Insertion Sort/)
71-
- [Selection Sort](Selection Sort/)
72-
- [Shell Sort](Shell Sort/)
70+
- [Insertion Sort](Insertion%20Sort/)
71+
- [Selection Sort](Selection%20Sort/)
72+
- [Shell Sort](Shell%20Sort/)
7373

7474
Fast sorts:
7575

7676
- [Quicksort](Quicksort/)
77-
- [Merge Sort](Merge Sort/)
78-
- [Heap Sort](Heap Sort/)
77+
- [Merge Sort](Merge%20Sort/)
78+
- [Heap Sort](Heap%20Sort/)
7979

8080
Special-purpose sorts:
8181

82-
- [Counting Sort](Counting Sort/)
83-
- [Radix Sort](Radix Sort/)
84-
- [Topological Sort](Topological Sort/)
82+
- [Counting Sort](Counting%20Sort/)
83+
- [Radix Sort](Radix%20Sort/)
84+
- [Topological Sort](Topological%20Sort/)
8585

8686
Bad sorting algorithms (don't use these!):
8787

88-
- [Bubble Sort](Bubble Sort/)
89-
- [Slow Sort](Slow Sort/)
88+
- [Bubble Sort](Bubble%20Sort/)
89+
- [Slow Sort](Slow%20Sort/)
9090

9191
### Compression
9292

93-
- [Run-Length Encoding (RLE)](Run-Length Encoding/). Store repeated values as a single byte and a count.
94-
- [Huffman Coding](Huffman Coding/). Store more common elements using a smaller number of bits.
93+
- [Run-Length Encoding (RLE)](Run-Length%20Encoding/). Store repeated values as a single byte and a count.
94+
- [Huffman Coding](Huffman%20Coding/). Store more common elements using a smaller number of bits.
9595

9696
### Miscellaneous
9797

9898
- [Shuffle](Shuffle/). Randomly rearranges the contents of an array.
99-
- [Comb Sort](Comb Sort/). An improve upon the Bubble Sort algorithm.
99+
- [Comb Sort](Comb%20Sort/). An improve upon the Bubble Sort algorithm.
100100

101101
### Mathematics
102102

103103
- [Greatest Common Divisor (GCD)](GCD/). Special bonus: the least common multiple.
104104
- [Permutations and Combinations](Combinatorics/). Get your combinatorics on!
105-
- [Shunting Yard Algorithm](Shunting Yard/). Convert infix expressions to postfix.
105+
- [Shunting Yard Algorithm](Shunting%20Yard/). Convert infix expressions to postfix.
106106
- Statistics
107-
- [Karatsuba Multiplication](Karatsuba Multiplication/). Another take on elementary multiplication.
107+
- [Karatsuba Multiplication](Karatsuba%20Multiplication/). Another take on elementary multiplication.
108108
- [Haversine Distance](HaversineDistance/). Calculating the distance between 2 points from a sphere.
109109

110110
### Machine learning
111111

112112
- [k-Means Clustering](K-Means/). Unsupervised classifier that partitions data into *k* clusters.
113113
- k-Nearest Neighbors
114-
- [Linear Regression](Linear Regression/)
114+
- [Linear Regression](Linear%20Regression/)
115115
- Logistic Regression
116116
- Neural Networks
117117
- PageRank
@@ -129,33 +129,33 @@ Most of the time using just the built-in `Array`, `Dictionary`, and `Set` types
129129
### Variations on arrays
130130

131131
- [Array2D](Array2D/). A two-dimensional array with fixed dimensions. Useful for board games.
132-
- [Bit Set](Bit Set/). A fixed-size sequence of *n* bits.
133-
- [Fixed Size Array](Fixed Size Array/). When you know beforehand how large your data will be, it might be more efficient to use an old-fashioned array with a fixed size.
134-
- [Ordered Array](Ordered Array/). An array that is always sorted.
135-
- [Rootish Array Stack](Rootish Array Stack/). A space and time efficient variation on Swift arrays.
132+
- [Bit Set](Bit%20Set/). A fixed-size sequence of *n* bits.
133+
- [Fixed Size Array](Fixed%20Size%20Array/). When you know beforehand how large your data will be, it might be more efficient to use an old-fashioned array with a fixed size.
134+
- [Ordered Array](Ordered%20Array/). An array that is always sorted.
135+
- [Rootish Array Stack](Rootish%20Array%20Stack/). A space and time efficient variation on Swift arrays.
136136

137137
### Queues
138138

139139
- [Stack](Stack/). Last-in, first-out!
140140
- [Queue](Queue/). First-in, first-out!
141141
- [Deque](Deque/). A double-ended queue.
142-
- [Priority Queue](Priority Queue). A queue where the most important element is always at the front.
143-
- [Ring Buffer](Ring Buffer/). Also known as a circular buffer. An array of a certain size that conceptually wraps around back to the beginning.
142+
- [Priority Queue](Priority%20Queue). A queue where the most important element is always at the front.
143+
- [Ring Buffer](Ring%20Buffer/). Also known as a circular buffer. An array of a certain size that conceptually wraps around back to the beginning.
144144

145145
### Lists
146146

147-
- [Linked List](Linked List/). A sequence of data items connected through links. Covers both singly and doubly linked lists.
147+
- [Linked List](Linked%20List/). A sequence of data items connected through links. Covers both singly and doubly linked lists.
148148
- [Skip-List](Skip-List/). Skip List is a probablistic data-structure with same logarithmic time bound and efficiency as AVL/ or Red-Black tree and provides a clever compromise to efficiently support search and update operations.
149149

150150
### Trees
151151

152152
- [Tree](Tree/). A general-purpose tree structure.
153-
- [Binary Tree](Binary Tree/). A tree where each node has at most two children.
154-
- [Binary Search Tree (BST)](Binary Search Tree/). A binary tree that orders its nodes in a way that allows for fast queries.
153+
- [Binary Tree](Binary%20Tree/). A tree where each node has at most two children.
154+
- [Binary Search Tree (BST)](Binary%20Search%20Tree/). A binary tree that orders its nodes in a way that allows for fast queries.
155155
- Red-Black Tree
156156
- Splay Tree
157157
- Threaded Binary Tree
158-
- [Segment Tree](Segment Tree/). Can quickly compute a function over a portion of an array.
158+
- [Segment Tree](Segment%20Tree/). Can quickly compute a function over a portion of an array.
159159
- kd-Tree
160160
- [Heap](Heap/). A binary tree stored in an array, so it doesn't use pointers. Makes a great priority queue.
161161
- Fibonacci Heap
@@ -164,33 +164,33 @@ Most of the time using just the built-in `Array`, `Dictionary`, and `Set` types
164164

165165
### Hashing
166166

167-
- [Hash Table](Hash Table/). Allows you to store and retrieve objects by a key. This is how the dictionary type is usually implemented.
167+
- [Hash Table](Hash%20Table/). Allows you to store and retrieve objects by a key. This is how the dictionary type is usually implemented.
168168
- Hash Functions
169169

170170
### Sets
171171

172-
- [Bloom Filter](Bloom Filter/). A constant-memory data structure that probabilistically tests whether an element is in a set.
173-
- [Hash Set](Hash Set/). A set implemented using a hash table.
172+
- [Bloom Filter](Bloom%20Filter/). A constant-memory data structure that probabilistically tests whether an element is in a set.
173+
- [Hash Set](Hash%20Set/). A set implemented using a hash table.
174174
- Multiset
175-
- [Ordered Set](Ordered Set/). A set where the order of items matters.
175+
- [Ordered Set](Ordered%20Set/). A set where the order of items matters.
176176

177177
### Graphs
178178

179179
- [Graph](Graph/)
180-
- [Breadth-First Search (BFS)](Breadth-First Search/)
181-
- [Depth-First Search (DFS)](Depth-First Search/)
182-
- [Shortest Path](Shortest Path %28Unweighted%29/) on an unweighted tree
183-
- [Single-Source Shortest Paths](Single-Source Shortest Paths (Weighted)/)
184-
- [Minimum Spanning Tree](Minimum Spanning Tree %28Unweighted%29/) on an unweighted tree
185-
- [All-Pairs Shortest Paths](All-Pairs Shortest Paths/)
180+
- [Breadth-First Search (BFS)](Breadth-First%20Search/)
181+
- [Depth-First Search (DFS)](Depth-First%20Search/)
182+
- [Shortest Path](Shortest%20Path%20%28Unweighted%29/) on an unweighted tree
183+
- [Single-Source Shortest Paths](Single-Source%20Shortest%20Paths%20(Weighted)/)
184+
- [Minimum Spanning Tree](Minimum%20Spanning%20Tree%20%28Unweighted%29/) on an unweighted tree
185+
- [All-Pairs Shortest Paths](All-Pairs%20Shortest%20Paths/)
186186

187187
## Puzzles
188188

189189
A lot of software developer interview questions consist of algorithmic puzzles. Here is a small selection of fun ones. For more puzzles (with answers), see [here](http://elementsofprogramminginterviews.com/) and [here](http://www.crackingthecodinginterview.com).
190190

191-
- [Two-Sum Problem](Two-Sum Problem/)
192-
- [Fizz Buzz](Fizz Buzz/)
193-
- [Monty Hall Problem](Monty Hall Problem/)
191+
- [Two-Sum Problem](Two-Sum%20Problem/)
192+
- [Fizz Buzz](Fizz%20Buzz/)
193+
- [Monty Hall Problem](Monty%20Hall%20Problem/)
194194
- [Finding Palindromes](Palindromes/)
195195
- [Dining Philosophers](DiningPhilosophers/)
196196

0 commit comments

Comments
 (0)