@@ -56,6 +56,30 @@ Short sample program to demonstrate C++ language basics
56
56
## Linked List
57
57
* Rearrange odd even elements in a linked list. [ C++] ( problems/linked-list/RearrangeEvenOdd.cpp )
58
58
59
+ ## Stack
60
+ * Dynamic Stack [ Java generic] ( problems/stack/DynamicStack.java )
61
+ * StackOfStrings [ Java generic] ( problems/stack/StackOfStrings.java )
62
+
63
+ ## Queue
64
+ * CircularQueue [ Java generic] ( problems/queue/CircularQueue.java )
65
+ * LinkedQueue [ Java generic] ( problems/queue/LinkedQueue.java )
66
+ * Deque [ Java generic] ( problems/queue/Deque.java )
67
+ * RandomizedQueue [ Java generic] ( problems/queue/RandomizedQueue.java )
68
+
69
+ ## Priority Queue / Heap
70
+ * Max Queue [ Java generic] ( problems/priority-queue/MaxQueue.java )
71
+ * Min Queue [ Java generic] ( problems/priority-queue/MinQueue.java )
72
+
73
+ ## Symbol table / Search Trees
74
+ * Binary Search Tree [ Java generic] ( problems/symbol-table/BST.java )
75
+ * Interval Search Tree [ Java generic] ( problems/symbol-table/IntervalST.java )
76
+
77
+ ## Union Find
78
+ * Quick Find [ Java generic] ( problems/union-find/QuickFind.java )
79
+ * Quick Union [ Java generic] ( problems/union-find/QuickUnion.java )
80
+ * Weighted Quick Union [ Java generic] ( problems/union-find/WeightedQuickUnion.java )
81
+ * Weighted Quick Union with Path compression [ Java generic] ( problems/union-find/QuickUnionPathCompression.java )
82
+
59
83
## Graph
60
84
* Find the celebrity in room. [ C++] ( problems/graph/CelebrityProblem1.cpp )
61
85
@@ -66,20 +90,36 @@ Short sample program to demonstrate C++ language basics
66
90
67
91
## Trie
68
92
* Spell checker. [ C++] ( problems/trie/SpellChecker.cpp )
93
+ * Trie data structure. [ Java] ( problems/trie/Trie.java )
94
+
95
+ ## Sorting
96
+ * Insertion sort. (generic) [ Java] ( problems/sorting/Insertion.java )
97
+ * Selection sort (generic) [ Java] ( problems/sorting/Selection.java )
98
+ * Shell sort (generic) [ Java] ( problems/sorting/Shell.java )
99
+ * Merge (generic) [ Java] ( problems/sorting/Merge.java )
100
+ * Bottom Up Merge (generic) [ Java] ( problems/sorting/MergeBU.java )
101
+ * Quicksort (generic) [ Java] ( problems/sorting/Quick.java )
102
+ * 3-way Quicksort (generic) [ Java] ( problems/sorting/Quick3Way.java )
69
103
70
104
## Encoding decoding (char, int, digits etc)
71
105
* Print all possible decoding of given digit sequence. [ C++] ( problems/encoding-decoding/CountDecodedDigitSequence.cpp )
72
106
* Print all possible decoding of given digit sequence. [ C++] ( problems/encoding-decoding/PrintDecodedDigitSequence.cpp )
73
107
108
+ ## Maths, Stats, Ordered Stats
109
+ * kth element, Quick Select [ Java] ( problems/sorting/QuickSelect.java )
110
+ * Shuffling [ Java] ( problems/sorting/Shuffling.java )
111
+ * [ Fisher–Yates shuffle algorithm] ( https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle )
112
+
113
+ ## Permutation
114
+ * Permutation of objects [ Java] ( problems/queue/Permutation.java )
115
+
74
116
## Other
75
117
* Find the celebrity in room. [ C++] ( problems/others/CelebrityProblem2.cpp )
76
118
* Maximum possible length by cutting N wood pieces into K pieces. [ C++] ( problems/others/MaxLengthForCutting.cpp )
77
119
* Merge N trasactions preserve order. [ C++] ( problems/others/MergeTransactions.cpp )
78
120
* Stock Buy Sell to Maximize Profit. [ C++] ( problems/string/firstUniqueCharacter.cpp )
79
121
80
-
81
122
## Leetcode
82
-
83
123
| String | Link | Java | C++|
84
124
| :--| :--| :--| :--|
85
125
| Reverse String | [ link] ( https://leetcode.com/explore/interview/card/top-interview-questions-easy/127/strings/879/ ) | [ ReverseString.java] ( sites/leetcode/ReverseString.java ) | [ ReverseString.cpp] ( sites/leetcode/ReverseString.cpp ) |
@@ -148,51 +188,9 @@ Short sample program to demonstrate C++ language basics
148
188
## Princeton Algorithms Course
149
189
Princeton Algorithms [ Part 1] ( https://www.coursera.org/learn/algorithms-part1/ ) and [ Part2] ( https://www.coursera.org/learn/algorithms-part2/ )
150
190
151
- * Union Find
152
- * [Quick Find](generic/union-find/QuickFind.java)
153
- * [Quick Union](generic/union-find/QuickUnion.java)
154
- * [Weighted Quick Union](generic/union-find/WeightedQuickUnion.java)
155
- * [Weighted Quick Union with Path compression](generic/union-find/QuickUnionPathCompression.java)
156
-
157
- * Stack
158
- * [Dynamic Stack](generic/stack/DynamicStack.java)
159
- * [StackOfStrings](generic/stack/StackOfStrings.java)
160
-
161
- * Queue
162
- * [CircularQueue](generic/queue/CircularQueue.java)
163
- * [LinkedQueue](generic/queue/LinkedQueue.java)
164
- * [Deque](assignments/queue/Deque.java)
165
- * [RandomizedQueue](assignments/queue/RandomizedQueue.java)
166
-
167
- * Priority Queue / Heap
168
- * [Max Queue](generic/priority-queue/MaxQueue.java)
169
- * [Min Queue](generic/priority-queue/MinQueue.java "MinQueue.java")
170
-
171
- * Sorting
172
- * [Insertion sort](generic/sorting/Insertion.java "Insertion.java")
173
- * [Selection sort](generic/sorting/Selection.java "Selection.java")
174
- * [Shell sort](generic/sorting/Shell.java "Shell.java")
175
- * [Merge](generic/sorting/Merge.java "Merge.java")
176
- * [Bottom Up Merge](generic/sorting/MergeBU.java "MergeBU.java")
177
- * [Quicksort](generic/sorting/Quick.java "Quick.java")
178
- * [3-way Quicksort](generic/sorting/Quick3Way.java "Quick3Way.java")
179
-
180
- * Symbol table / Search Trees
181
- * [Binary Search Tree](generic/symbol-table/BST.java)
182
- * [Interval Search Tree](generic/symbol-table/IntervalST.java)
183
-
184
- * String
185
- * [ Trie] ( generic/string/Trie.java )
186
-
187
191
* Other data structures
188
192
* [ Activity / Task] ( greedy/Activity.java " Activity.java ") representation of an activity or a task
189
193
190
- * Other algorithms
191
- * [Permutation of objects](assignments/queue/Permutation.java)
192
- * [kth element, Quick Select](generic/sorting/QuickSelect.java "QuickSelect.java")
193
- * [Shuffling](generic/sorting/Shuffling.java "Shuffling.java")
194
- * [Fisher–Yates shuffle algorithm](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)
195
-
196
194
* Linked List
197
195
* [ Linked List] ( others/linked-list/LinkedList.java )
198
196
* [ Alternating Split] ( others/linked-list/AlternatingSplit.java )
@@ -243,9 +241,6 @@ Princeton Algorithms [Part 1](https://www.coursera.org/learn/algorithms-part1/)
243
241
* [ KMP Pattern searching] ( others/string/KMP.java ) Search pattern in text
244
242
245
243
* Assignment
246
- * [Percolation](assignments/queue)
247
- * [Deque](assignments/queue/Deque.java)
248
- * [RandomizedQueue](assignments/queue/RandomizedQueue.java)
249
244
* [8 Puzzle](assignments/8-puzzle/)
250
245
251
246
* Math
@@ -265,5 +260,4 @@ Princeton Algorithms [Part 1](https://www.coursera.org/learn/algorithms-part1/)
265
260
266
261
* Random data
267
262
* [ Random String] ( others/dynamic-programming/RandomString.java ) Random strings
268
- * [ Random 2D Matrix] ( others/dynamic-programming/Random2DMatrix.java ) Random 2D boolean, binary or integer matrix
269
-
263
+ * [ Random 2D Matrix] ( others/dynamic-programming/Random2DMatrix.java ) Random 2D boolean, binary or integer matrix
0 commit comments