linked-list-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 +14 -50
- package/dist/cjs/index.cjs +1537 -267
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +1543 -264
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1537 -268
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +1543 -265
- 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/linked-list-typed.js +1540 -262
- package/dist/umd/linked-list-typed.js.map +1 -1
- package/dist/umd/linked-list-typed.min.js +1 -1
- package/dist/umd/linked-list-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
|
@@ -34,56 +34,6 @@ yarn add linked-list-typed
|
|
|
34
34
|
|
|
35
35
|
[//]: # (No deletion!!! Start of Example Replace Section)
|
|
36
36
|
|
|
37
|
-
### basic DoublyLinkedList creation and push operation
|
|
38
|
-
```typescript
|
|
39
|
-
// Create a simple DoublyLinkedList with initial values
|
|
40
|
-
const list = new DoublyLinkedList([1, 2, 3, 4, 5]);
|
|
41
|
-
|
|
42
|
-
// Verify the list maintains insertion order
|
|
43
|
-
console.log([...list]); // [1, 2, 3, 4, 5];
|
|
44
|
-
|
|
45
|
-
// Check length
|
|
46
|
-
console.log(list.length); // 5;
|
|
47
|
-
|
|
48
|
-
// Push a new element to the end
|
|
49
|
-
list.push(6);
|
|
50
|
-
console.log(list.length); // 6;
|
|
51
|
-
console.log([...list]); // [1, 2, 3, 4, 5, 6];
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### DoublyLinkedList pop and shift operations
|
|
55
|
-
```typescript
|
|
56
|
-
const list = new DoublyLinkedList<number>([10, 20, 30, 40, 50]);
|
|
57
|
-
|
|
58
|
-
// Pop removes from the end
|
|
59
|
-
const last = list.pop();
|
|
60
|
-
console.log(last); // 50;
|
|
61
|
-
|
|
62
|
-
// Shift removes from the beginning
|
|
63
|
-
const first = list.shift();
|
|
64
|
-
console.log(first); // 10;
|
|
65
|
-
|
|
66
|
-
// Verify remaining elements
|
|
67
|
-
console.log([...list]); // [20, 30, 40];
|
|
68
|
-
console.log(list.length); // 3;
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### DoublyLinkedList for...of iteration and map operation
|
|
72
|
-
```typescript
|
|
73
|
-
const list = new DoublyLinkedList<number>([1, 2, 3, 4, 5]);
|
|
74
|
-
|
|
75
|
-
// Iterate through list
|
|
76
|
-
const doubled = list.map(value => value * 2);
|
|
77
|
-
console.log(doubled.length); // 5;
|
|
78
|
-
|
|
79
|
-
// Use for...of loop
|
|
80
|
-
const result: number[] = [];
|
|
81
|
-
for (const item of list) {
|
|
82
|
-
result.push(item);
|
|
83
|
-
}
|
|
84
|
-
console.log(result); // [1, 2, 3, 4, 5];
|
|
85
|
-
```
|
|
86
|
-
|
|
87
37
|
### Browser history
|
|
88
38
|
```typescript
|
|
89
39
|
const browserHistory = new DoublyLinkedList<string>();
|
|
@@ -138,6 +88,20 @@ yarn add linked-list-typed
|
|
|
138
88
|
console.log(foundEntry?.value); // 'Bob';
|
|
139
89
|
```
|
|
140
90
|
|
|
91
|
+
### Find first matching element
|
|
92
|
+
```typescript
|
|
93
|
+
const list = new DoublyLinkedList<number>([5, 10, 15, 20]);
|
|
94
|
+
console.log(list.find(n => n >= 12)); // 15;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Iterate over elements
|
|
98
|
+
```typescript
|
|
99
|
+
const list = new DoublyLinkedList<number>([1, 2, 3]);
|
|
100
|
+
const sum: number[] = [];
|
|
101
|
+
list.forEach(n => sum.push(n));
|
|
102
|
+
console.log(sum); // [1, 2, 3];
|
|
103
|
+
```
|
|
104
|
+
|
|
141
105
|
[//]: # (No deletion!!! End of Example Replace Section)
|
|
142
106
|
|
|
143
107
|
|