Programming Techniques and Data Structures Implemented:

For these projects the following programming techniques and data structures were implemented correctly and efficiently:

-Heap Bottom-Up.
-Heap Top Down.
-QuickSort.
-QuickSelect.
-Bubble Sort.
-Insertion Sort.
-Binary Insertion Sort.
-Selection Sort.
-Order Statistics Tree.
-Binary Search Tree.
-Disjoint Sets.
-The Kruskal Algorithm.
-Merge K Lists.
-Hash Tables.
-Depth First Search(DFS).
-Breadth First Search(BFS).
  • Each project shows a small demo when run showing the programming technique and data structure used. Then a .html file is created containing graphs showing the differences between methods by tracking the number of assignments and comparisons each one does.
  • As input, each project receives arrays of dimensions between 100 and 10.000 one after the other. The increment is 100 and the arrays are filled with random values.

Generated Graphs

Heap Build

Heap Build

QuickSort and QuickSelect Heap

QuickSort and QuickSelect Heap

Direct Sorting Methods

Direct Sorting Methods

Dynamic Order Statistics

Dynamic Order Statistics

Disjoint Sets

Disjoint Sets

Merge K Lists

Merge K Lists

Hash Tables

No graphs were generated for this project, but you may run it and see the demo.
Here is the table generated based on te evaluation described in the project's requirements. Generated table

Depth First Search

Depth First Search

Breadth First Search

No graphs were generated for this project, but you may run it and see the demo.