Hello,
I would like the implementation of the following data structures using generics, with the following methods:
Singly Linked List: push method (insert at the head), append method (insert at the tail), insert after a particular node method, node at index method, pop method, removeLast method, remove after index method
Doubly Linked List: push(insert at the head), append method (insert at the tail), insert after a particular node method, node at index method, insert before a particular node method, insert at index method, remove first method, remove last method, remove before a particular node method, remove after a particular node method, remove node method.
Binary Search Tree: insert method, contains value method, remove method, traverseInOrder, traversePreOrder, traversePostOrder
AVL Tree: rotate right, rotate left, remove value, insert value from node, find min node, level order traversal, rotateLeftRight, rotateRightLeft
AVL Node: All associated properties and methods.
Trie: insert method, contains, remove, startingWithPrefix
Heap: isEmpty, count, peek method, leftChildIndex method (passing parent index), rightChildIndex method (passing parent index), parentIndex method (passing child index), remove method which removes last element, shift down method, insert method, shift up method, remove at index, index of element method, heap sort
Graph: create vertex method, addDirectedEdge, add edge from source vertex to destination vertex method, BFS, DFS
Stack: push, pop, isEmpty, peek
AdjacencyList: all needed methods from graph interface
Matrix: all needed methods from graph interface
Edge: all needed properties
Vertex: all needed properties
Queue (using an array): peek method, isEmpty, enqueue, dequeue
Queue (using a doubly linked list): peek method, isEmpty, enqueue, dequeue
Queue (using a ring buffer): peek method, isEmpty, enqueue, dequeue
Queue (using two stacks): peek method, isEmpty, enqueue, dequeue
Ring Buffer: write method, read method, isEmpty, isFull
Priority Queue: peek method, isEmpty, enqueue, dequeue
HashTable: get method, get size, add, remove, isEmpty
I would like comments on what is occurring in each of their methods and examples on how to call them. For nodes please add the appropriate properties and methods.