Classic algorithms and data structures are treated.
I tried to put in practice the things I learned from the Algorithms & Data Structures course in university. The algorithms and data structures are implemented in both C and Java, which I learned in university as well.
The algorithms/data structures implemented are strictly related to what I treated in the course, so no extra work on extra topics has been done. That is beacuse the syllabus is already very dense, hence the workload is heavy. For example, the breadth first search and the depth first search algorithms are only implemented for graph represented by adjacency lists, because that's what the professor explained in that specific lecture (and is likely to ask in the exam).
Every piece of code was implemented with the aim of understanding the topics treated during the course and in preparation for the exam.
NB: the various implementations might not be the best way to code each algorithm/data structure.
- Concatenated List (java, c)
- Stack (java)
- Queue (java)
- Graph with adjacency matrix (java)
- Graph with adjacency lists (java)
- Breadth First Search (java - myAdjList.java file)
- Depth First Search (java - myAdjList.java file)