undirected-graph-typed 2.4.5 → 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.
Files changed (76) hide show
  1. package/README.md +0 -63
  2. package/dist/cjs/index.cjs +858 -166
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs-legacy/index.cjs +858 -166
  5. package/dist/cjs-legacy/index.cjs.map +1 -1
  6. package/dist/esm/index.mjs +858 -166
  7. package/dist/esm/index.mjs.map +1 -1
  8. package/dist/esm-legacy/index.mjs +858 -166
  9. package/dist/esm-legacy/index.mjs.map +1 -1
  10. package/dist/types/data-structures/base/iterable-element-base.d.ts +1 -1
  11. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +128 -51
  12. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +210 -164
  13. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +429 -78
  14. package/dist/types/data-structures/binary-tree/bst.d.ts +311 -28
  15. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +212 -32
  16. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +218 -152
  17. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1281 -5
  18. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1087 -201
  19. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +858 -65
  20. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1133 -5
  21. package/dist/types/data-structures/graph/directed-graph.d.ts +219 -47
  22. package/dist/types/data-structures/graph/map-graph.d.ts +59 -1
  23. package/dist/types/data-structures/graph/undirected-graph.d.ts +204 -59
  24. package/dist/types/data-structures/hash/hash-map.d.ts +230 -77
  25. package/dist/types/data-structures/heap/heap.d.ts +287 -99
  26. package/dist/types/data-structures/heap/max-heap.d.ts +46 -0
  27. package/dist/types/data-structures/heap/min-heap.d.ts +59 -0
  28. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +286 -44
  29. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +278 -65
  30. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +415 -12
  31. package/dist/types/data-structures/matrix/matrix.d.ts +331 -0
  32. package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +57 -0
  33. package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +60 -0
  34. package/dist/types/data-structures/priority-queue/priority-queue.d.ts +60 -0
  35. package/dist/types/data-structures/queue/deque.d.ts +272 -65
  36. package/dist/types/data-structures/queue/queue.d.ts +211 -42
  37. package/dist/types/data-structures/stack/stack.d.ts +174 -32
  38. package/dist/types/data-structures/trie/trie.d.ts +213 -43
  39. package/dist/types/types/data-structures/binary-tree/segment-tree.d.ts +1 -1
  40. package/dist/types/types/data-structures/linked-list/skip-linked-list.d.ts +1 -4
  41. package/dist/umd/undirected-graph-typed.js +858 -166
  42. package/dist/umd/undirected-graph-typed.js.map +1 -1
  43. package/dist/umd/undirected-graph-typed.min.js +2 -2
  44. package/dist/umd/undirected-graph-typed.min.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/data-structures/base/iterable-element-base.ts +4 -5
  47. package/src/data-structures/binary-tree/avl-tree.ts +134 -51
  48. package/src/data-structures/binary-tree/binary-indexed-tree.ts +302 -247
  49. package/src/data-structures/binary-tree/binary-tree.ts +429 -79
  50. package/src/data-structures/binary-tree/bst.ts +335 -34
  51. package/src/data-structures/binary-tree/red-black-tree.ts +290 -97
  52. package/src/data-structures/binary-tree/segment-tree.ts +372 -248
  53. package/src/data-structures/binary-tree/tree-map.ts +1284 -6
  54. package/src/data-structures/binary-tree/tree-multi-map.ts +1094 -211
  55. package/src/data-structures/binary-tree/tree-multi-set.ts +858 -65
  56. package/src/data-structures/binary-tree/tree-set.ts +1136 -9
  57. package/src/data-structures/graph/directed-graph.ts +219 -47
  58. package/src/data-structures/graph/map-graph.ts +59 -1
  59. package/src/data-structures/graph/undirected-graph.ts +204 -59
  60. package/src/data-structures/hash/hash-map.ts +230 -77
  61. package/src/data-structures/heap/heap.ts +287 -99
  62. package/src/data-structures/heap/max-heap.ts +46 -0
  63. package/src/data-structures/heap/min-heap.ts +59 -0
  64. package/src/data-structures/linked-list/doubly-linked-list.ts +286 -44
  65. package/src/data-structures/linked-list/singly-linked-list.ts +278 -65
  66. package/src/data-structures/linked-list/skip-linked-list.ts +689 -90
  67. package/src/data-structures/matrix/matrix.ts +416 -12
  68. package/src/data-structures/priority-queue/max-priority-queue.ts +57 -0
  69. package/src/data-structures/priority-queue/min-priority-queue.ts +60 -0
  70. package/src/data-structures/priority-queue/priority-queue.ts +60 -0
  71. package/src/data-structures/queue/deque.ts +272 -65
  72. package/src/data-structures/queue/queue.ts +211 -42
  73. package/src/data-structures/stack/stack.ts +174 -32
  74. package/src/data-structures/trie/trie.ts +213 -43
  75. package/src/types/data-structures/binary-tree/segment-tree.ts +1 -1
  76. package/src/types/data-structures/linked-list/skip-linked-list.ts +2 -1
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 {