Trying-Out-on-Algorithms
Trying algorithms time complexity and performance with group mates for a school project. This project is for a school project, aimed at assessing some of the widely known algorithms to perform certain tasks. This group project consist of the following members:
Lab 2
Topic: Searching, Hashing
Algorithms used: Linear Probe and Double Hashing
Project is on implementing open address hashing on a available dataset of employee ids, then analyse the results on different load factor of the hash table. Two types of open address hashing methods were used, linear probe and double hashing which are implemented in the files Lab2_Linear Probe.py and Lab2_Double Hashing.py respectively.
Future plans: Implement other rehashing methods for open address hashing and use of other data that are not completely in numerical data type.
Lab 3
Topic: Sorting
Algorithms used: Merge and Insertion Sort
Project is on comparing sorting algorithms, with regards to Merge Sort and Insertion Sort. Lab3_final.java is the file we used to identify the comparison.
Future plans: Compare with heapsort.
Lab 4
Topic: Graph Search
Algorithms used: Breadth First Search and Depth First Search
Project on implementing a Breadth First Search algorithm on graph datasets of cities, to determine the graph traversal time with respect to the size of the graph, similar to a scenario of flight path between cities. The graph is represented with adjacency list. Depth First Search algorithm is also experimented on the suitability for this case, in the file src/FlightScheduling.java
In addition, adjacency matrix to represent the graph is also experimented in src/AdjacencyMatrix.java
Future plans: Experimenting with other algorithms on larger datasets with weights, such as Bellmon Ford algorithm.