Skip to content

Commit b1a1bb9

Browse files
committed
Reorganize generic into problems folder and update README
1 parent 3fefe13 commit b1a1bb9

27 files changed

+43
-49
lines changed

README.md

Lines changed: 43 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -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
149189
Princeton 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

Comments
 (0)