Skip to content

Commit f18ac3d

Browse files
committed
docs: Update main README
1 parent 23b16c6 commit f18ac3d

File tree

3 files changed

+37
-47
lines changed

3 files changed

+37
-47
lines changed

README.md

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,41 @@
11
# Data Structures & Algorithms
22

3-
This repository contains implementation of some fundamental data structures and algorithms in Computer Science. It is
4-
primarily used as a teaching resource and is currently being developed by ex-2040s students.
3+
This repository contains implementation and discussion notes (intuition, applications, analysis)
4+
of some fundamental data structures and algorithms in Computer Science. <br>
5+
It is aligned with [CS2040s](https://nusmods.com/courses/CS2040S/data-structures-and-algorithms) syllabus taught at NUS.
56

6-
The project uses Gradle and the structure is optimised for IntelliJ IDEA since implementation are mostly written in
7-
Java.
7+
The work here is continually being developed by CS2040s Teaching Assistants(TAs) and ex-2040s students.
8+
Lecture content has been covered and future plans include deeper discussion into the tougher parts of tutorials.
89

9-
**Note**: This is still being developed. Those below with links mean that they are complete (alongside testing). We
10-
project to complete CS2040s course content by November and along the way, add interesting algorithms/problems. We are
11-
hopeful that the subsequent batches of students (from AY23/24 S2) will benefit greatly from this.
10+
The project's structure is optimised for IntelliJ IDEA as per the course's preferred IDE.
11+
Gradle is used for development.
1212

13-
If you wish to contribute, do drop an email at [email protected].
14-
15-
## Full List of Implementation (in alphabetical order):
16-
17-
## Structures
13+
## Full List (in alphabetical order):
1814

15+
## Data Structures
1916
- Adelson-Velskii and Landis (AVL) Binary Search Tree
20-
- Disjoint Set / Union Find
21-
* Quick Find
22-
* Weighted Union
23-
* Path compression
17+
- [Disjoint Set / Union Find](src/main/java/dataStructures/disjointSet)
18+
* [Quick Find](src/main/java/dataStructures/disjointSet/quickFind)
19+
* [Weighted Union]((src/main/java/dataStructures/disjointSet)/weightedUnion)
20+
* Path compression
2421
- [Hashing](src/main/java/dataStructures/hashSet)
2522
* [Chaining](src/main/java/dataStructures/hashSet/chaining)
2623
* [Open Addressing](src/main/java/dataStructures/hashSet/openAddressing)
2724
- [Heap](src/main/java/dataStructures/heap)
28-
* Max heap implementation
25+
* Max heap implementation
2926
- [Linked List](src/main/java/dataStructures/linkedList)
3027
- LRU Cache
3128
- Minimum Spanning Tree
3229
- [Queue](src/main/java/dataStructures/queue)
30+
- [Deque](src/main/java/dataStructures/queue/Deque)
31+
- [Monotonic Queue](src/main/java/dataStructures/queue/monotonicQueue)
3332
- Segment Tree
3433
* Array implementation
3534
* TreeNode implementation
3635
- [Stack](src/main/java/dataStructures/stack)
3736
- Trie
3837

3938
## Algorithms
40-
4139
- [Counting Sort](src/main/java/algorithms/sorting/countingSort)
4240
- [Cyclic Sort](src/main/java/algorithms/sorting/cyclicSort)
4341
* [Special case](src/main/java/algorithms/sorting/cyclicSort/simple) of O(n) time complexity
@@ -54,17 +52,17 @@ If you wish to contribute, do drop an email at [email protected].
5452
* [Lomuto's](src/main/java/algorithms/sorting/quickSort/lomuto)
5553
* [Paranoid](src/main/java/algorithms/sorting/quickSort/paranoid)
5654
* [3-way Partitioning](src/main/java/algorithms/sorting/quickSort/threeWayPartitioning)
57-
- Radix Sort
55+
- [Radix Sort](src/main/java/algorithms/sorting/radixSort/)
5856

5957
## Short-cut to CS2040S Material
60-
6158
1. Basic structures
6259
* [Linked List](src/main/java/dataStructures/linkedList)
6360
* [Stack](src/main/java/dataStructures/stack)
6461
* [Queue](src/main/java/dataStructures/queue)
6562
2. [Binary Search](src/main/java/algorithms/binarySearch)
6663
* Peak Finding
67-
* Template
64+
* Simple Version
65+
* Universal Version
6866
3. Sorting
6967
* [Bubble](src/main/java/algorithms/sorting/bubbleSort)
7068
* [Insertion](src/main/java/algorithms/sorting/insertionSort)
@@ -74,37 +72,44 @@ If you wish to contribute, do drop an email at [email protected].
7472
4. Trees
7573
* [Binary search tree](src/main/java/dataStructures/binarySearchTree)
7674
* AVL-tree
77-
* Kd-tree
78-
* Interval tree
75+
* Kd-tree (**WIP**)
76+
* Interval tree (**WIP**)
7977
* Augmented tree for orthogonal range searching
8078
* Red-Black Tree
8179
* ab-Tree
8280
5. [Binary Heap](src/main/java/dataStructures/heap)
8381
* Max heap implementation
84-
6. Disjoint Set / Union Find
85-
* Quick Find
86-
* Weighted Union
87-
* Path compression
82+
6. [Disjoint Set / Union Find](src/main/java/dataStructures/disjointSet)
83+
* [Quick Find](src/main/java/dataStructures/disjointSet/quickFind)
84+
* [Weighted Union](src/main/java/dataStructures/disjointSet/weightedUnion)
85+
* Path compression
8886
7. [Hashing](src/main/java/dataStructures/hashSet)
8987
* [Chaining](src/main/java/dataStructures/hashSet/chaining)
9088
* [Open Addressing](src/main/java/dataStructures/hashSet/openAddressing)
9189
* Double Hashing
92-
* Bloom filter
93-
8. Basic graphs
90+
* Bloom filter (**WIP**)
91+
8. Basic graphs (**WIP**)
9492
* Depth-first search
9593
* Breadth-first search
9694
9. Graphs
9795
* Bellman-ford
9896
* Dijkstra
99-
* Directed acyclic graphs
97+
* Directed acyclic graphs algorithms (**WIP**)
98+
* Post-order DFS
99+
* Kahn's
100+
* Floyd Warshall (**WIP**)
100101
10. Minimum spanning tree
101102
* Prim's
102103
* Kruskal's
103104

104105
## Running Custom Inputs
105-
106106
See [here](scripts/README.md).
107107

108-
## Contributors
108+
## Disclaimer
109+
While our team of TAs and students have diligently verified the correctness of our code, there might still be
110+
some discrepancies or deviation from lecture content (perhaps due to new changes).
111+
In which case, **you are strongly advised to raise it up to us or consult your TA** regarding any suspicions
112+
on the use of the information shared here.
109113

114+
## Contributors
110115
See the [team](docs/team/profiles.md)!

src/main/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/test/README.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)