undirected-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 -63
- package/dist/cjs/index.cjs +1067 -185
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +1068 -184
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1067 -186
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +1068 -185
- 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/undirected-graph-typed.js +1066 -182
- package/dist/umd/undirected-graph-typed.js.map +1 -1
- package/dist/umd/undirected-graph-typed.min.js +3 -1
- package/dist/umd/undirected-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
|
@@ -82,69 +82,6 @@ yarn add undirected-graph-typed
|
|
|
82
82
|
console.log(neighborsA[1].key); // 'C';
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
### UndirectedGraph deleteEdge and vertex operations
|
|
86
|
-
```typescript
|
|
87
|
-
const graph = new UndirectedGraph<string>();
|
|
88
|
-
|
|
89
|
-
// Build a simple undirected graph
|
|
90
|
-
graph.addVertex('X');
|
|
91
|
-
graph.addVertex('Y');
|
|
92
|
-
graph.addVertex('Z');
|
|
93
|
-
graph.addEdge('X', 'Y', 1);
|
|
94
|
-
graph.addEdge('Y', 'Z', 2);
|
|
95
|
-
graph.addEdge('X', 'Z', 3);
|
|
96
|
-
|
|
97
|
-
// Delete an edge
|
|
98
|
-
graph.deleteEdge('X', 'Y');
|
|
99
|
-
console.log(graph.hasEdge('X', 'Y')); // false;
|
|
100
|
-
|
|
101
|
-
// Bidirectional deletion confirmed
|
|
102
|
-
console.log(graph.hasEdge('Y', 'X')); // false;
|
|
103
|
-
|
|
104
|
-
// Other edges should remain
|
|
105
|
-
console.log(graph.hasEdge('Y', 'Z')); // true;
|
|
106
|
-
console.log(graph.hasEdge('Z', 'Y')); // true;
|
|
107
|
-
|
|
108
|
-
// Delete a vertex
|
|
109
|
-
graph.deleteVertex('Y');
|
|
110
|
-
console.log(graph.hasVertex('Y')); // false;
|
|
111
|
-
console.log(graph.size); // 2;
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### UndirectedGraph connectivity and neighbors
|
|
115
|
-
```typescript
|
|
116
|
-
const graph = new UndirectedGraph<string>();
|
|
117
|
-
|
|
118
|
-
// Build a friendship network
|
|
119
|
-
const people = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve'];
|
|
120
|
-
for (const person of people) {
|
|
121
|
-
graph.addVertex(person);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Add friendships (undirected edges)
|
|
125
|
-
graph.addEdge('Alice', 'Bob', 1);
|
|
126
|
-
graph.addEdge('Alice', 'Charlie', 1);
|
|
127
|
-
graph.addEdge('Bob', 'Diana', 1);
|
|
128
|
-
graph.addEdge('Charlie', 'Eve', 1);
|
|
129
|
-
graph.addEdge('Diana', 'Eve', 1);
|
|
130
|
-
|
|
131
|
-
// Get friends of each person
|
|
132
|
-
const aliceFriends = graph.getNeighbors('Alice');
|
|
133
|
-
console.log(aliceFriends[0].key); // 'Bob';
|
|
134
|
-
console.log(aliceFriends[1].key); // 'Charlie';
|
|
135
|
-
console.log(aliceFriends.length); // 2;
|
|
136
|
-
|
|
137
|
-
const dianaFriends = graph.getNeighbors('Diana');
|
|
138
|
-
console.log(dianaFriends[0].key); // 'Bob';
|
|
139
|
-
console.log(dianaFriends[1].key); // 'Eve';
|
|
140
|
-
console.log(dianaFriends.length); // 2;
|
|
141
|
-
|
|
142
|
-
// Verify bidirectional friendship
|
|
143
|
-
const bobFriends = graph.getNeighbors('Bob');
|
|
144
|
-
console.log(bobFriends[0].key); // 'Alice'; // Alice -> Bob -> Alice ✓
|
|
145
|
-
console.log(bobFriends[1].key); // 'Diana';
|
|
146
|
-
```
|
|
147
|
-
|
|
148
85
|
### UndirectedGraph for social network connectivity analysis
|
|
149
86
|
```typescript
|
|
150
87
|
interface Person {
|