diff --git a/README.md b/README.md index f7a08d3..612d1b6 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,195 @@ -# data-structure-ts +# data-structure-typed + +## install + +### yarn + +```bash +yarn add data-structure-typed +``` + +### npm + +```bash +npm install data-structure-typed +``` ## data structures
Data Structure | -Description | +Derived | +Basic Features | +Additional Features | |
---|---|---|---|---|---|
Hash | -CoordinateSet, CoordinateMap | +||||
Binary Tree | +AVL Tree, Binary Search Tree, Tree Multiset | +put, has, get, remove, size, insertTo, insertMany, fill, getDepth, getHeight, getMinHeight, getPathToRoot, isBalanced | +getLeftMost, isBST, getSubTreeSizeAndCount, subTreeSum, subTreeAdd, BFS, DFS, DFSIterative, levelIterative, listLevels, getPredecessor, morris, | ||
Heap | +AVL Tree | ++ | All the features inherited from Binary Tree, balanceFactor, updateHeight, balancePath, balanceLL, balanceLR, balanceRR, balanceRL | ||
Binary Tree | -AVL Tree, Binary Indexed Tree, Binary Search Tree, Segment Tree, Tree Multiset | +Binary Search Tree (BST) | ++ | All the features inherited from Binary Tree, lastKey | +All the features inherited from Binary Tree, lesserSum, allGreaterNodesAdd, balance, isAVLBalanced | +
Tree Multiset | ++ | All the features inherited from Binary Tree | +All the features inherited from Binary Tree | +||
Segment Tree | ++ | build, updateNode, querySumByRange | ++ | ||
Binary Indexed Tree | ++ | update, getPrefixSum, getRangeSum, BinaryIndexedTree.lowBit | +|||
Graph | Directed Graph, Undirected Graph | +getVertex, getVertexId, containsVertex, vertexSet, addVertex, removeVertex, removeAllVertices, containsEdge, setEdgeWeight, getAllPathsBetween, getPathSumWeight, getMinCostBetween, getMinPathBetween, | +dijkstra, dijkstraWithoutHeap, bellmanFord, floyd, tarjan | ||
Linked List | -Singly Linked List, Doubly Linked List | +Directed Graph | ++ | All the features inherited from Graph, getEdge, addEdge, removeEdgeBetween, removeEdge, removeAllEdges, incomingEdgesOf, outgoingEdgesOf, degreeOf, inDegreeOf, outDegreeOf, edgesOf, getEdgeSrc, getEdgeDest, getDestinations, edgeSet, getNeighbors, getEndsOfEdge | +All the features inherited from Graph, topologicalSort |
Matrix | +Undirected Graph | ++ | All the features inherited from Graph, getEdge, addEdge, removeEdgeBetween, removeEdge, degreeOf, edgesOf, edgeSet, getEdgesOf, getNeighbors, getEndsOfEdge | +All the features inherited from Graph | +|
Singly Linked List | ++ | length, head, tail, size, get, getNode, findNodeIndex, findNode, find, findIndex, append, push, prepend, insertAt, removeNode, removeAt, insertBefore, sort, insertAfter, shift, pop, merge, clear, slice, reverse, forEach, map, filter, reduce, toArray, toString | ++ + | ||
Hash | +CoordinateSet, CoordinateMap | +||||
CoordinateSet | ++ | has, set, get, delete | ++ | ||
CoordinateMap | ++ | has, add, delete | ++ | ||
Heap | ++ | + | |||
Doubly Linked List | ++ | size, offerFirst, offerLast, peekFirst, peekLast, pollFirst, pollLast, get, isEmpty, insert, remove, | ++ | ||
Matrix | ) + +[//]: # () + +[//]: # ( | ) + +[//]: # ( | ) + +[//]: # ( | ||
Priority Queue | Max Priority Queue, Min Priority Queue | +offer, peek, poll, leaf, isEmpty, clear, toArray, clone | +isValid, sort, DFS | +||
Max Priority Queue | ++ | All the features inherited from Priority Queue | +All the features inherited from Priority Queue | +||
Min Priority Queue | ++ | All the features inherited from Priority Queue | +All the features inherited from Priority Queue | ||
Queue | Queue, Dequeue | +offer, poll, peek, peekLast, size, isEmpty, toArray, clear, clone, Queue.fromArray | ++ | ||
ObjectDeque | ++ | size, offerFirst, offerLast, pollFirst, peekFirst, pollLast, peekLast, get, isEmpty | ++ | ||
ArrayDeque | ++ | offerLast, pollLast, pollFirst, offerFirst, peekFirst, peekLast, get, set, insert, remove, isEmpty | +|||
Stack | + | isEmpty, size, peek, push, pop, toArray, clear, clone, Stack.fromArray | +|||
Trie | + | put, has, remove, isAbsPrefix, isPrefix, getAll | +