directed-graph-typed 2.4.4 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -51
- package/dist/cjs/index.cjs +1010 -188
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +1011 -187
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1010 -189
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +1011 -188
- package/dist/esm-legacy/index.mjs.map +1 -1
- package/dist/types/common/error.d.ts +23 -0
- package/dist/types/common/index.d.ts +1 -0
- package/dist/types/data-structures/base/iterable-element-base.d.ts +1 -1
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +128 -51
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +210 -164
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +439 -78
- package/dist/types/data-structures/binary-tree/bst.d.ts +311 -28
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +217 -31
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +218 -152
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +1281 -5
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1087 -201
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +858 -65
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +1133 -5
- package/dist/types/data-structures/graph/abstract-graph.d.ts +44 -0
- package/dist/types/data-structures/graph/directed-graph.d.ts +220 -47
- package/dist/types/data-structures/graph/map-graph.d.ts +59 -1
- package/dist/types/data-structures/graph/undirected-graph.d.ts +218 -59
- package/dist/types/data-structures/hash/hash-map.d.ts +230 -77
- package/dist/types/data-structures/heap/heap.d.ts +287 -99
- package/dist/types/data-structures/heap/max-heap.d.ts +46 -0
- package/dist/types/data-structures/heap/min-heap.d.ts +59 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +286 -44
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +278 -65
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +415 -12
- package/dist/types/data-structures/matrix/matrix.d.ts +331 -0
- package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +57 -0
- package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +60 -0
- package/dist/types/data-structures/priority-queue/priority-queue.d.ts +60 -0
- package/dist/types/data-structures/queue/deque.d.ts +313 -66
- package/dist/types/data-structures/queue/queue.d.ts +211 -42
- package/dist/types/data-structures/stack/stack.d.ts +174 -32
- package/dist/types/data-structures/trie/trie.d.ts +213 -43
- package/dist/types/types/data-structures/binary-tree/segment-tree.d.ts +1 -1
- package/dist/types/types/data-structures/linked-list/skip-linked-list.d.ts +1 -4
- package/dist/types/types/data-structures/queue/deque.d.ts +6 -0
- package/dist/umd/directed-graph-typed.js +1009 -185
- package/dist/umd/directed-graph-typed.js.map +1 -1
- package/dist/umd/directed-graph-typed.min.js +3 -1
- package/dist/umd/directed-graph-typed.min.js.map +1 -1
- package/package.json +2 -2
- package/src/common/error.ts +60 -0
- package/src/common/index.ts +2 -0
- package/src/data-structures/base/iterable-element-base.ts +2 -2
- package/src/data-structures/binary-tree/avl-tree.ts +134 -51
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +303 -247
- package/src/data-structures/binary-tree/binary-tree.ts +542 -121
- package/src/data-structures/binary-tree/bst.ts +346 -37
- package/src/data-structures/binary-tree/red-black-tree.ts +309 -96
- package/src/data-structures/binary-tree/segment-tree.ts +372 -248
- package/src/data-structures/binary-tree/tree-map.ts +1292 -13
- package/src/data-structures/binary-tree/tree-multi-map.ts +1098 -215
- package/src/data-structures/binary-tree/tree-multi-set.ts +863 -69
- package/src/data-structures/binary-tree/tree-set.ts +1143 -15
- package/src/data-structures/graph/abstract-graph.ts +106 -1
- package/src/data-structures/graph/directed-graph.ts +223 -47
- package/src/data-structures/graph/map-graph.ts +59 -1
- package/src/data-structures/graph/undirected-graph.ts +299 -59
- package/src/data-structures/hash/hash-map.ts +243 -79
- package/src/data-structures/heap/heap.ts +291 -102
- package/src/data-structures/heap/max-heap.ts +48 -3
- package/src/data-structures/heap/min-heap.ts +59 -0
- package/src/data-structures/linked-list/doubly-linked-list.ts +286 -44
- package/src/data-structures/linked-list/singly-linked-list.ts +278 -65
- package/src/data-structures/linked-list/skip-linked-list.ts +689 -90
- package/src/data-structures/matrix/matrix.ts +425 -22
- package/src/data-structures/priority-queue/max-priority-queue.ts +59 -3
- package/src/data-structures/priority-queue/min-priority-queue.ts +60 -0
- package/src/data-structures/priority-queue/priority-queue.ts +60 -0
- package/src/data-structures/queue/deque.ts +343 -68
- package/src/data-structures/queue/queue.ts +211 -42
- package/src/data-structures/stack/stack.ts +174 -32
- package/src/data-structures/trie/trie.ts +215 -44
- package/src/types/data-structures/binary-tree/segment-tree.ts +1 -1
- package/src/types/data-structures/linked-list/skip-linked-list.ts +2 -1
- package/src/types/data-structures/queue/deque.ts +7 -0
- package/src/utils/utils.ts +4 -2
package/README.md
CHANGED
|
@@ -79,57 +79,6 @@ yarn add directed-graph-typed
|
|
|
79
79
|
console.log(neighborsA[1].key); // 'C';
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
### DirectedGraph deleteEdge and vertex operations
|
|
83
|
-
```typescript
|
|
84
|
-
const graph = new DirectedGraph<string>();
|
|
85
|
-
|
|
86
|
-
// Build a small graph
|
|
87
|
-
graph.addVertex('X');
|
|
88
|
-
graph.addVertex('Y');
|
|
89
|
-
graph.addVertex('Z');
|
|
90
|
-
graph.addEdge('X', 'Y', 1);
|
|
91
|
-
graph.addEdge('Y', 'Z', 2);
|
|
92
|
-
|
|
93
|
-
// Delete an edge
|
|
94
|
-
graph.deleteEdgeSrcToDest('X', 'Y');
|
|
95
|
-
console.log(graph.hasEdge('X', 'Y')); // false;
|
|
96
|
-
|
|
97
|
-
// Edge in other direction should not exist
|
|
98
|
-
console.log(graph.hasEdge('Y', 'X')); // false;
|
|
99
|
-
|
|
100
|
-
// Other edges should remain
|
|
101
|
-
console.log(graph.hasEdge('Y', 'Z')); // true;
|
|
102
|
-
|
|
103
|
-
// Delete a vertex
|
|
104
|
-
graph.deleteVertex('Y');
|
|
105
|
-
console.log(graph.hasVertex('Y')); // false;
|
|
106
|
-
console.log(graph.size); // 2;
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### DirectedGraph topologicalSort for task scheduling
|
|
110
|
-
```typescript
|
|
111
|
-
const graph = new DirectedGraph<string>();
|
|
112
|
-
|
|
113
|
-
// Build a DAG (Directed Acyclic Graph) for task dependencies
|
|
114
|
-
graph.addVertex('Design');
|
|
115
|
-
graph.addVertex('Implement');
|
|
116
|
-
graph.addVertex('Test');
|
|
117
|
-
graph.addVertex('Deploy');
|
|
118
|
-
|
|
119
|
-
// Add dependency edges
|
|
120
|
-
graph.addEdge('Design', 'Implement', 1); // Design must come before Implement
|
|
121
|
-
graph.addEdge('Implement', 'Test', 1); // Implement must come before Test
|
|
122
|
-
graph.addEdge('Test', 'Deploy', 1); // Test must come before Deploy
|
|
123
|
-
|
|
124
|
-
// Topological sort gives valid execution order
|
|
125
|
-
const executionOrder = graph.topologicalSort();
|
|
126
|
-
console.log(executionOrder); // defined;
|
|
127
|
-
console.log(executionOrder); // ['Design', 'Implement', 'Test', 'Deploy'];
|
|
128
|
-
|
|
129
|
-
// All vertices should be included
|
|
130
|
-
console.log(executionOrder?.length); // 4;
|
|
131
|
-
```
|
|
132
|
-
|
|
133
82
|
### DirectedGraph dijkstra shortest path for network routing
|
|
134
83
|
```typescript
|
|
135
84
|
// Build a weighted directed graph representing network nodes and costs
|