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

+43-49
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
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)