@@ -56,6 +56,30 @@ Short sample program to demonstrate C++ language basics
5656## Linked List
5757* Rearrange odd even elements in a linked list. [ C++] ( problems/linked-list/RearrangeEvenOdd.cpp )
5858
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+
5983## Graph
6084* Find the celebrity in room. [ C++] ( problems/graph/CelebrityProblem1.cpp )
6185
@@ -66,20 +90,36 @@ Short sample program to demonstrate C++ language basics
6690
6791## Trie
6892* 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 )
69103
70104## Encoding decoding (char, int, digits etc)
71105* Print all possible decoding of given digit sequence. [ C++] ( problems/encoding-decoding/CountDecodedDigitSequence.cpp )
72106* Print all possible decoding of given digit sequence. [ C++] ( problems/encoding-decoding/PrintDecodedDigitSequence.cpp )
73107
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+
74116## Other
75117* Find the celebrity in room. [ C++] ( problems/others/CelebrityProblem2.cpp )
76118* Maximum possible length by cutting N wood pieces into K pieces. [ C++] ( problems/others/MaxLengthForCutting.cpp )
77119* Merge N trasactions preserve order. [ C++] ( problems/others/MergeTransactions.cpp )
78120* Stock Buy Sell to Maximize Profit. [ C++] ( problems/string/firstUniqueCharacter.cpp )
79121
80-
81122## Leetcode
82-
83123| String | Link | Java | C++|
84124| :--| :--| :--| :--|
85125| 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
148188## Princeton Algorithms Course
149189Princeton Algorithms [ Part 1] ( https://www.coursera.org/learn/algorithms-part1/ ) and [ Part2] ( https://www.coursera.org/learn/algorithms-part2/ )
150190
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-
187191* Other data structures
188192 * [ Activity / Task] ( greedy/Activity.java " Activity.java ") representation of an activity or a task
189193
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-
196194* Linked List
197195 * [ Linked List] ( others/linked-list/LinkedList.java )
198196 * [ Alternating Split] ( others/linked-list/AlternatingSplit.java )
@@ -243,9 +241,6 @@ Princeton Algorithms [Part 1](https://www.coursera.org/learn/algorithms-part1/)
243241 * [ KMP Pattern searching] ( others/string/KMP.java ) Search pattern in text
244242
245243* Assignment
246- * [Percolation](assignments/queue)
247- * [Deque](assignments/queue/Deque.java)
248- * [RandomizedQueue](assignments/queue/RandomizedQueue.java)
249244 * [8 Puzzle](assignments/8-puzzle/)
250245
251246* Math
@@ -265,5 +260,4 @@ Princeton Algorithms [Part 1](https://www.coursera.org/learn/algorithms-part1/)
265260
266261* Random data
267262 * [ 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