Projects for Professor Farnan's CS1501 course
1.Project 1: Binary Search Tree
- BST.java -> written by me (BST implementation)
- BST_Inter.java -> interface provided by instructor
- BTNode.java -> node for binary tree provided by instructor
2.Project 2: Auto-Completer DLB
- AutoCompleter.java -> written by me (implement AutoComplete_Inter.java)
- AutoComplete_Inter.java -> interface provided by instructor
- Dict.java -> interface provided by instructor
- dictionary.txt -> english dictionary
- DLB.java -> written by me (a DLB to implement Dict.java)
- DLBNode.java -> dlb node provided by instructor (node used in DLB.java)
- HistNode.java -> written by me (node used in UserHistory.java)
- MyStringBuilder.java, MyStringBuilder2.java -> written by me (was not allowed to use stringbulder from java library)
- seeStructure.java -> written by me, interactive test program (allows user to dynamically test the auto-completer)
3.Project 3: Priority Queue for Car Dealership
- Car.java -> written by me (implements Car_Inter.java)
- cars.txt -> read into program to use during tests
- CarsPQ.java -> priority queue to store cars
- CarsPQ_Inter.java -> interface provided by instructor
- Car_Inter.java -> interface provided by instructor
- HeapNode.java -> node used in HeapPQ
- HeapPQ.java -> heap priority queue, sorts cars based on either price or mileage
- IndirectionDLB.java -> DLB used to implement indirection table for heapPQ.java
- IndierectionNode.java -> used for DLB that implements IndirectionDLB.java
- MakeModelDLB.java ->DLB used to implement indirection table for carsPQ.java
- MyStringBuilder.java -> stringbuilder class used when implementing DLB's
4.Project 4: Graphs and Networks
- AdjacencyList.java -> adjacency list for implementation
- AdjNode.java -> node for adjacency list
- App.java -> start the tests
- ArticulationPointSearch.java -> search for articulation point
- DFS.java -> used to check if graph is connected if only consider copper based connections
- HeapPQ.java -> heap pq used to implement some of the files
- IndirectionDLB.java -> indirection table for the heap
- IndirectionNode.java -> node for indirection table
- MyDijkstra.java -> used to find lowest average latency path
- MyPrim.java -> used to find lowest average latency spanning tree
- NetAnalysis.java -> functions for analyzing graphs and networks (implements NetAnalysis_Inter.java)
- NetAnalysis_Inter.java -> interface provided by instructor
- STE.java -> provided by instructor, spanning tree edge
- network_data2.txt -> data used for the test
5.Project 5: BigInteger Implementation
- HeftyInteger.java -> implement a data type that can perform operations on arbitrarily large integers (similar to BigInteger)