An open API service indexing awesome lists of open source software.

https://github.com/srowhani/comp2402

Popular Algorithms and Data Structures in Java
https://github.com/srowhani/comp2402

Last synced: 11 months ago
JSON representation

Popular Algorithms and Data Structures in Java

Awesome Lists containing this project

README

          

comp2402
========
Java Data Structures with Pat Morin.

Focus on the implementation of popular forms of storing data, the benefits to each, as well
as its space and time complexity.



  • Assignment 1


    These questions involve choosing the right abstraction (Collection, Set, List, Queue, SortedSet, Map, or SortedMap) to efficiently accomplish the task at hand. The best way to do these is to read the question and then think about what type of Collection is best to use to solve it. There are only a few lines of code you need to write to solve each of them.


  • Assignment 2


    Implement a RandomQueue, BulkArrayDeque, and improve the implementation
    of how array deques calculate their indexing.
    Ensure that the assignment runs in O(1+min{i,n-i}) time



  • Assignment 3


    In this assignment you will be working on two data structures that store a set of intervals. An interval has a left endpoint, a, and a right endpoint, b, with a <= b (as defined by Interval.compareTo()). Intervals are closed on the left and open on the right (they include their left endpoint but not their right endpoint).


  • Assignment 4


    This assignment asks you to use binary tree traversals to make nice(ish) drawings of binary trees. To do this, you will implement some of the functions in the GeometricTree class.
    Your implementation here should be fast and non-recursive. The test program will test your implementations of these functions on very large (e.g., 100k node) trees. All your implementations should run in linear time and should be able to label a 100k node tree in a tenth of a second or so. Your implementation should work even if the tree is extremely unbalanced.



  • Assignment 5


    Implementation of an AVLTree. More Info about this data structure can be found here.