data-structure-typed 1.39.4 → 1.39.6

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 (111) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +6 -6
  3. package/dist/cjs/data-structures/binary-tree/avl-tree.js +13 -13
  4. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  5. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +7 -7
  6. package/dist/cjs/data-structures/binary-tree/binary-tree.js +17 -17
  7. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  8. package/dist/cjs/data-structures/binary-tree/bst.d.ts +6 -6
  9. package/dist/cjs/data-structures/binary-tree/bst.js +13 -13
  10. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  11. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +2 -2
  12. package/dist/cjs/data-structures/binary-tree/rb-tree.js +4 -4
  13. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  14. package/dist/cjs/data-structures/binary-tree/segment-tree.d.ts +7 -7
  15. package/dist/cjs/data-structures/binary-tree/segment-tree.js +16 -16
  16. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +1 -1
  17. package/dist/cjs/data-structures/binary-tree/tree-multiset.d.ts +6 -6
  18. package/dist/cjs/data-structures/binary-tree/tree-multiset.js +18 -18
  19. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +1 -1
  20. package/dist/cjs/data-structures/graph/abstract-graph.d.ts +96 -96
  21. package/dist/cjs/data-structures/graph/abstract-graph.js +64 -64
  22. package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
  23. package/dist/cjs/data-structures/graph/directed-graph.d.ts +68 -68
  24. package/dist/cjs/data-structures/graph/directed-graph.js +48 -48
  25. package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -1
  26. package/dist/cjs/data-structures/graph/map-graph.d.ts +13 -13
  27. package/dist/cjs/data-structures/graph/map-graph.js +15 -15
  28. package/dist/cjs/data-structures/graph/map-graph.js.map +1 -1
  29. package/dist/cjs/data-structures/graph/undirected-graph.d.ts +42 -42
  30. package/dist/cjs/data-structures/graph/undirected-graph.js +32 -32
  31. package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -1
  32. package/dist/cjs/data-structures/hash/hash-table.d.ts +4 -4
  33. package/dist/cjs/data-structures/hash/hash-table.js +8 -8
  34. package/dist/cjs/data-structures/hash/hash-table.js.map +1 -1
  35. package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +31 -31
  36. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +54 -54
  37. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  38. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +24 -24
  39. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +52 -52
  40. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  41. package/dist/cjs/data-structures/queue/queue.d.ts +1 -1
  42. package/dist/cjs/data-structures/queue/queue.js +4 -4
  43. package/dist/cjs/data-structures/queue/queue.js.map +1 -1
  44. package/dist/cjs/interfaces/binary-tree.d.ts +2 -2
  45. package/dist/cjs/interfaces/graph.d.ts +3 -3
  46. package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +6 -6
  47. package/dist/mjs/data-structures/binary-tree/avl-tree.js +13 -13
  48. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +7 -7
  49. package/dist/mjs/data-structures/binary-tree/binary-tree.js +18 -18
  50. package/dist/mjs/data-structures/binary-tree/bst.d.ts +6 -6
  51. package/dist/mjs/data-structures/binary-tree/bst.js +13 -13
  52. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +2 -2
  53. package/dist/mjs/data-structures/binary-tree/rb-tree.js +4 -4
  54. package/dist/mjs/data-structures/binary-tree/segment-tree.d.ts +7 -7
  55. package/dist/mjs/data-structures/binary-tree/segment-tree.js +16 -16
  56. package/dist/mjs/data-structures/binary-tree/tree-multiset.d.ts +6 -6
  57. package/dist/mjs/data-structures/binary-tree/tree-multiset.js +18 -18
  58. package/dist/mjs/data-structures/graph/abstract-graph.d.ts +96 -96
  59. package/dist/mjs/data-structures/graph/abstract-graph.js +66 -66
  60. package/dist/mjs/data-structures/graph/directed-graph.d.ts +68 -68
  61. package/dist/mjs/data-structures/graph/directed-graph.js +48 -48
  62. package/dist/mjs/data-structures/graph/map-graph.d.ts +13 -13
  63. package/dist/mjs/data-structures/graph/map-graph.js +15 -15
  64. package/dist/mjs/data-structures/graph/undirected-graph.d.ts +42 -42
  65. package/dist/mjs/data-structures/graph/undirected-graph.js +32 -32
  66. package/dist/mjs/data-structures/hash/hash-table.d.ts +4 -4
  67. package/dist/mjs/data-structures/hash/hash-table.js +9 -9
  68. package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +31 -31
  69. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +55 -55
  70. package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +24 -24
  71. package/dist/mjs/data-structures/linked-list/singly-linked-list.js +53 -53
  72. package/dist/mjs/data-structures/queue/queue.d.ts +1 -1
  73. package/dist/mjs/data-structures/queue/queue.js +4 -4
  74. package/dist/mjs/interfaces/binary-tree.d.ts +2 -2
  75. package/dist/mjs/interfaces/graph.d.ts +3 -3
  76. package/dist/umd/data-structure-typed.min.js +1 -1
  77. package/dist/umd/data-structure-typed.min.js.map +1 -1
  78. package/package.json +5 -5
  79. package/src/data-structures/binary-tree/avl-tree.ts +13 -13
  80. package/src/data-structures/binary-tree/binary-tree.ts +18 -18
  81. package/src/data-structures/binary-tree/bst.ts +16 -16
  82. package/src/data-structures/binary-tree/rb-tree.ts +6 -6
  83. package/src/data-structures/binary-tree/segment-tree.ts +15 -15
  84. package/src/data-structures/binary-tree/tree-multiset.ts +18 -18
  85. package/src/data-structures/graph/abstract-graph.ts +156 -154
  86. package/src/data-structures/graph/directed-graph.ts +99 -94
  87. package/src/data-structures/graph/map-graph.ts +22 -25
  88. package/src/data-structures/graph/undirected-graph.ts +62 -60
  89. package/src/data-structures/hash/hash-table.ts +9 -9
  90. package/src/data-structures/linked-list/doubly-linked-list.ts +61 -61
  91. package/src/data-structures/linked-list/singly-linked-list.ts +58 -58
  92. package/src/data-structures/queue/queue.ts +2 -2
  93. package/src/interfaces/binary-tree.ts +2 -2
  94. package/src/interfaces/graph.ts +3 -3
  95. package/test/integration/bst.test.ts +2 -2
  96. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +2 -2
  97. package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +3 -3
  98. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +8 -8
  99. package/test/unit/data-structures/binary-tree/bst.test.ts +4 -4
  100. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +3 -3
  101. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +2 -2
  102. package/test/unit/data-structures/graph/abstract-graph.test.ts +99 -2
  103. package/test/unit/data-structures/graph/directed-graph.test.ts +38 -23
  104. package/test/unit/data-structures/graph/map-graph.test.ts +23 -23
  105. package/test/unit/data-structures/graph/undirected-graph.test.ts +10 -2
  106. package/test/unit/data-structures/hash/hash-table.test.ts +1 -1
  107. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +30 -30
  108. package/test/unit/data-structures/linked-list/linked-list.test.ts +1 -1
  109. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +15 -15
  110. package/test/unit/data-structures/queue/queue.test.ts +8 -8
  111. package/test/utils/big-o.ts +7 -7
@@ -8,13 +8,13 @@
8
8
  export declare class SinglyLinkedListNode<E = any> {
9
9
  /**
10
10
  * The constructor function initializes an instance of a class with a given value and sets the next property to null.
11
- * @param {E} val - The "val" parameter is of type E, which means it can be any data type. It represents the value that
11
+ * @param {E} value - The "value" parameter is of type E, which means it can be any data type. It represents the value that
12
12
  * will be stored in the node of a linked list.
13
13
  */
14
- constructor(val: E);
15
- private _val;
16
- get val(): E;
17
- set val(value: E);
14
+ constructor(value: E);
15
+ private _value;
16
+ get value(): E;
17
+ set value(value: E);
18
18
  private _next;
19
19
  get next(): SinglyLinkedListNode<E> | null;
20
20
  set next(value: SinglyLinkedListNode<E> | null);
@@ -40,17 +40,17 @@ export declare class SinglyLinkedList<E = any> {
40
40
  */
41
41
  static fromArray<E>(data: E[]): SinglyLinkedList<E>;
42
42
  /**
43
- * The `push` function adds a new node with the given val to the end of a singly linked list.
44
- * @param {E} val - The "val" parameter represents the value that you want to add to the linked list. It can be of
43
+ * The `push` function adds a new node with the given value to the end of a singly linked list.
44
+ * @param {E} value - The "value" parameter represents the value that you want to add to the linked list. It can be of
45
45
  * any type (E) as specified in the generic type declaration of the class or function.
46
46
  */
47
- push(val: E): void;
47
+ push(value: E): void;
48
48
  /**
49
- * The `push` function adds a new node with the given val to the end of a singly linked list.
50
- * @param {E} val - The "val" parameter represents the value that you want to add to the linked list. It can be of
49
+ * The `push` function adds a new node with the given value to the end of a singly linked list.
50
+ * @param {E} value - The "value" parameter represents the value that you want to add to the linked list. It can be of
51
51
  * any type (E) as specified in the generic type declaration of the class or function.
52
52
  */
53
- addLast(val: E): void;
53
+ addLast(value: E): void;
54
54
  /**
55
55
  * The `pop()` function removes and returns the value of the last element in a linked list, updating the head and tail
56
56
  * pointers accordingly.
@@ -77,16 +77,16 @@ export declare class SinglyLinkedList<E = any> {
77
77
  popFirst(): E | undefined;
78
78
  /**
79
79
  * The unshift function adds a new node with the given value to the beginning of a singly linked list.
80
- * @param {E} val - The parameter "val" represents the value of the new node that will be added to the beginning of the
80
+ * @param {E} value - The parameter "value" represents the value of the new node that will be added to the beginning of the
81
81
  * linked list.
82
82
  */
83
- unshift(val: E): void;
83
+ unshift(value: E): void;
84
84
  /**
85
85
  * The addFirst function adds a new node with the given value to the beginning of a singly linked list.
86
- * @param {E} val - The parameter "val" represents the value of the new node that will be added to the beginning of the
86
+ * @param {E} value - The parameter "value" represents the value of the new node that will be added to the beginning of the
87
87
  * linked list.
88
88
  */
89
- addFirst(val: E): void;
89
+ addFirst(value: E): void;
90
90
  /**
91
91
  * The function `getAt` returns the value at a specified index in a linked list, or null if the index is out of range.
92
92
  * @param {number} index - The index parameter is a number that represents the position of the element we want to
@@ -123,12 +123,12 @@ export declare class SinglyLinkedList<E = any> {
123
123
  * The `insertAt` function inserts a value at a specified index in a singly linked list.
124
124
  * @param {number} index - The index parameter represents the position at which the new value should be inserted in the
125
125
  * linked list. It is of type number.
126
- * @param {E} val - The `val` parameter represents the value that you want to insert into the linked list at the
126
+ * @param {E} value - The `value` parameter represents the value that you want to insert into the linked list at the
127
127
  * specified index.
128
128
  * @returns The `insert` method returns a boolean value. It returns `true` if the insertion is successful, and `false`
129
129
  * if the index is out of bounds.
130
130
  */
131
- insertAt(index: number, val: E): boolean;
131
+ insertAt(index: number, value: E): boolean;
132
132
  /**
133
133
  * The function checks if the length of a data structure is equal to zero and returns a boolean value indicating
134
134
  * whether it is empty or not.
@@ -156,7 +156,7 @@ export declare class SinglyLinkedList<E = any> {
156
156
  * @returns The method `find` returns the first element in the linked list that satisfies the condition specified by
157
157
  * the callback function. If no element satisfies the condition, it returns `null`.
158
158
  */
159
- find(callback: (val: E) => boolean): E | null;
159
+ find(callback: (value: E) => boolean): E | null;
160
160
  /**
161
161
  * The `indexOf` function returns the index of the first occurrence of a given value in a linked list.
162
162
  * @param {E} value - The value parameter is the value that you want to find the index of in the linked list.
@@ -198,11 +198,11 @@ export declare class SinglyLinkedList<E = any> {
198
198
  countOccurrences(value: E): number;
199
199
  /**
200
200
  * The `forEach` function iterates over each element in a linked list and applies a callback function to each element.
201
- * @param callback - The callback parameter is a function that takes two arguments: val and index. The val argument
201
+ * @param callback - The callback parameter is a function that takes two arguments: value and index. The value argument
202
202
  * represents the value of the current node in the linked list, and the index argument represents the index of the
203
203
  * current node in the linked list.
204
204
  */
205
- forEach(callback: (val: E, index: number) => void): void;
205
+ forEach(callback: (value: E, index: number) => void): void;
206
206
  /**
207
207
  * The `map` function takes a callback function and applies it to each element in the SinglyLinkedList, returning a new
208
208
  * SinglyLinkedList with the transformed values.
@@ -211,7 +211,7 @@ export declare class SinglyLinkedList<E = any> {
211
211
  * SinglyLinkedList).
212
212
  * @returns The `map` function is returning a new instance of `SinglyLinkedList<U>` that contains the mapped values.
213
213
  */
214
- map<U>(callback: (val: E) => U): SinglyLinkedList<U>;
214
+ map<U>(callback: (value: E) => U): SinglyLinkedList<U>;
215
215
  /**
216
216
  * The `filter` function iterates through a SinglyLinkedList and returns a new SinglyLinkedList containing only the
217
217
  * elements that satisfy the given callback function.
@@ -219,18 +219,18 @@ export declare class SinglyLinkedList<E = any> {
219
219
  * It is used to determine whether a value should be included in the filtered list or not.
220
220
  * @returns The filtered list, which is an instance of the SinglyLinkedList class.
221
221
  */
222
- filter(callback: (val: E) => boolean): SinglyLinkedList<E>;
222
+ filter(callback: (value: E) => boolean): SinglyLinkedList<E>;
223
223
  /**
224
224
  * The `reduce` function iterates over a linked list and applies a callback function to each element, accumulating a
225
225
  * single value.
226
- * @param callback - The `callback` parameter is a function that takes two arguments: `accumulator` and `val`. It is
226
+ * @param callback - The `callback` parameter is a function that takes two arguments: `accumulator` and `value`. It is
227
227
  * used to perform a specific operation on each element of the linked list.
228
228
  * @param {U} initialValue - The `initialValue` parameter is the initial value of the accumulator. It is the starting
229
229
  * point for the reduction operation.
230
230
  * @returns The `reduce` method is returning the final value of the accumulator after iterating through all the
231
231
  * elements in the linked list.
232
232
  */
233
- reduce<U>(callback: (accumulator: U, val: E) => U, initialValue: U): U;
233
+ reduce<U>(callback: (accumulator: U, value: E) => U, initialValue: U): U;
234
234
  /**
235
235
  * The function returns an iterator that iterates over the values of a linked list.
236
236
  */
@@ -11,18 +11,18 @@ exports.SinglyLinkedList = exports.SinglyLinkedListNode = void 0;
11
11
  class SinglyLinkedListNode {
12
12
  /**
13
13
  * The constructor function initializes an instance of a class with a given value and sets the next property to null.
14
- * @param {E} val - The "val" parameter is of type E, which means it can be any data type. It represents the value that
14
+ * @param {E} value - The "value" parameter is of type E, which means it can be any data type. It represents the value that
15
15
  * will be stored in the node of a linked list.
16
16
  */
17
- constructor(val) {
18
- this._val = val;
17
+ constructor(value) {
18
+ this._value = value;
19
19
  this._next = null;
20
20
  }
21
- get val() {
22
- return this._val;
21
+ get value() {
22
+ return this._value;
23
23
  }
24
- set val(value) {
25
- this._val = value;
24
+ set value(value) {
25
+ this._value = value;
26
26
  }
27
27
  get next() {
28
28
  return this._next;
@@ -70,12 +70,12 @@ class SinglyLinkedList {
70
70
  return singlyLinkedList;
71
71
  }
72
72
  /**
73
- * The `push` function adds a new node with the given val to the end of a singly linked list.
74
- * @param {E} val - The "val" parameter represents the value that you want to add to the linked list. It can be of
73
+ * The `push` function adds a new node with the given value to the end of a singly linked list.
74
+ * @param {E} value - The "value" parameter represents the value that you want to add to the linked list. It can be of
75
75
  * any type (E) as specified in the generic type declaration of the class or function.
76
76
  */
77
- push(val) {
78
- const newNode = new SinglyLinkedListNode(val);
77
+ push(value) {
78
+ const newNode = new SinglyLinkedListNode(value);
79
79
  if (!this.head) {
80
80
  this.head = newNode;
81
81
  this.tail = newNode;
@@ -87,12 +87,12 @@ class SinglyLinkedList {
87
87
  this._length++;
88
88
  }
89
89
  /**
90
- * The `push` function adds a new node with the given val to the end of a singly linked list.
91
- * @param {E} val - The "val" parameter represents the value that you want to add to the linked list. It can be of
90
+ * The `push` function adds a new node with the given value to the end of a singly linked list.
91
+ * @param {E} value - The "value" parameter represents the value that you want to add to the linked list. It can be of
92
92
  * any type (E) as specified in the generic type declaration of the class or function.
93
93
  */
94
- addLast(val) {
95
- this.push(val);
94
+ addLast(value) {
95
+ this.push(value);
96
96
  }
97
97
  /**
98
98
  * The `pop()` function removes and returns the value of the last element in a linked list, updating the head and tail
@@ -104,21 +104,21 @@ class SinglyLinkedList {
104
104
  if (!this.head)
105
105
  return undefined;
106
106
  if (this.head === this.tail) {
107
- const val = this.head.val;
107
+ const value = this.head.value;
108
108
  this.head = null;
109
109
  this.tail = null;
110
110
  this._length--;
111
- return val;
111
+ return value;
112
112
  }
113
113
  let current = this.head;
114
114
  while (current.next !== this.tail) {
115
115
  current = current.next;
116
116
  }
117
- const val = this.tail.val;
117
+ const value = this.tail.value;
118
118
  current.next = null;
119
119
  this.tail = current;
120
120
  this._length--;
121
- return val;
121
+ return value;
122
122
  }
123
123
  /**
124
124
  * The `popLast()` function removes and returns the value of the last element in a linked list, updating the head and tail
@@ -139,7 +139,7 @@ class SinglyLinkedList {
139
139
  const removedNode = this.head;
140
140
  this.head = this.head.next;
141
141
  this._length--;
142
- return removedNode.val;
142
+ return removedNode.value;
143
143
  }
144
144
  /**
145
145
  * The `popFirst()` function removes and returns the value of the first node in a linked list.
@@ -150,11 +150,11 @@ class SinglyLinkedList {
150
150
  }
151
151
  /**
152
152
  * The unshift function adds a new node with the given value to the beginning of a singly linked list.
153
- * @param {E} val - The parameter "val" represents the value of the new node that will be added to the beginning of the
153
+ * @param {E} value - The parameter "value" represents the value of the new node that will be added to the beginning of the
154
154
  * linked list.
155
155
  */
156
- unshift(val) {
157
- const newNode = new SinglyLinkedListNode(val);
156
+ unshift(value) {
157
+ const newNode = new SinglyLinkedListNode(value);
158
158
  if (!this.head) {
159
159
  this.head = newNode;
160
160
  this.tail = newNode;
@@ -167,11 +167,11 @@ class SinglyLinkedList {
167
167
  }
168
168
  /**
169
169
  * The addFirst function adds a new node with the given value to the beginning of a singly linked list.
170
- * @param {E} val - The parameter "val" represents the value of the new node that will be added to the beginning of the
170
+ * @param {E} value - The parameter "value" represents the value of the new node that will be added to the beginning of the
171
171
  * linked list.
172
172
  */
173
- addFirst(val) {
174
- this.unshift(val);
173
+ addFirst(value) {
174
+ this.unshift(value);
175
175
  }
176
176
  /**
177
177
  * The function `getAt` returns the value at a specified index in a linked list, or null if the index is out of range.
@@ -187,7 +187,7 @@ class SinglyLinkedList {
187
187
  for (let i = 0; i < index; i++) {
188
188
  current = current.next;
189
189
  }
190
- return current.val;
190
+ return current.value;
191
191
  }
192
192
  /**
193
193
  * The function `getNodeAt` returns the node at a given index in a singly linked list.
@@ -221,7 +221,7 @@ class SinglyLinkedList {
221
221
  const removedNode = prevNode.next;
222
222
  prevNode.next = removedNode.next;
223
223
  this._length--;
224
- return removedNode.val;
224
+ return removedNode.value;
225
225
  }
226
226
  /**
227
227
  * The delete function removes a node with a specific value from a singly linked list.
@@ -235,14 +235,14 @@ class SinglyLinkedList {
235
235
  return false;
236
236
  let value;
237
237
  if (valueOrNode instanceof SinglyLinkedListNode) {
238
- value = valueOrNode.val;
238
+ value = valueOrNode.value;
239
239
  }
240
240
  else {
241
241
  value = valueOrNode;
242
242
  }
243
243
  let current = this.head, prev = null;
244
244
  while (current) {
245
- if (current.val === value) {
245
+ if (current.value === value) {
246
246
  if (prev === null) {
247
247
  this.head = current.next;
248
248
  if (current === this.tail) {
@@ -267,23 +267,23 @@ class SinglyLinkedList {
267
267
  * The `insertAt` function inserts a value at a specified index in a singly linked list.
268
268
  * @param {number} index - The index parameter represents the position at which the new value should be inserted in the
269
269
  * linked list. It is of type number.
270
- * @param {E} val - The `val` parameter represents the value that you want to insert into the linked list at the
270
+ * @param {E} value - The `value` parameter represents the value that you want to insert into the linked list at the
271
271
  * specified index.
272
272
  * @returns The `insert` method returns a boolean value. It returns `true` if the insertion is successful, and `false`
273
273
  * if the index is out of bounds.
274
274
  */
275
- insertAt(index, val) {
275
+ insertAt(index, value) {
276
276
  if (index < 0 || index > this.length)
277
277
  return false;
278
278
  if (index === 0) {
279
- this.unshift(val);
279
+ this.unshift(value);
280
280
  return true;
281
281
  }
282
282
  if (index === this.length) {
283
- this.push(val);
283
+ this.push(value);
284
284
  return true;
285
285
  }
286
- const newNode = new SinglyLinkedListNode(val);
286
+ const newNode = new SinglyLinkedListNode(value);
287
287
  const prevNode = this.getNodeAt(index - 1);
288
288
  newNode.next = prevNode.next;
289
289
  prevNode.next = newNode;
@@ -314,7 +314,7 @@ class SinglyLinkedList {
314
314
  const array = [];
315
315
  let current = this.head;
316
316
  while (current) {
317
- array.push(current.val);
317
+ array.push(current.value);
318
318
  current = current.next;
319
319
  }
320
320
  return array;
@@ -347,8 +347,8 @@ class SinglyLinkedList {
347
347
  find(callback) {
348
348
  let current = this.head;
349
349
  while (current) {
350
- if (callback(current.val)) {
351
- return current.val;
350
+ if (callback(current.value)) {
351
+ return current.value;
352
352
  }
353
353
  current = current.next;
354
354
  }
@@ -364,7 +364,7 @@ class SinglyLinkedList {
364
364
  let index = 0;
365
365
  let current = this.head;
366
366
  while (current) {
367
- if (current.val === value) {
367
+ if (current.value === value) {
368
368
  return index;
369
369
  }
370
370
  index++;
@@ -382,7 +382,7 @@ class SinglyLinkedList {
382
382
  getNode(value) {
383
383
  let current = this.head;
384
384
  while (current) {
385
- if (current.val === value) {
385
+ if (current.value === value) {
386
386
  return current;
387
387
  }
388
388
  current = current.next;
@@ -402,18 +402,18 @@ class SinglyLinkedList {
402
402
  return false;
403
403
  let existingValue;
404
404
  if (existingValueOrNode instanceof SinglyLinkedListNode) {
405
- existingValue = existingValueOrNode.val;
405
+ existingValue = existingValueOrNode.value;
406
406
  }
407
407
  else {
408
408
  existingValue = existingValueOrNode;
409
409
  }
410
- if (this.head.val === existingValue) {
410
+ if (this.head.value === existingValue) {
411
411
  this.unshift(newValue);
412
412
  return true;
413
413
  }
414
414
  let current = this.head;
415
415
  while (current.next) {
416
- if (current.next.val === existingValue) {
416
+ if (current.next.value === existingValue) {
417
417
  const newNode = new SinglyLinkedListNode(newValue);
418
418
  newNode.next = current.next;
419
419
  current.next = newNode;
@@ -461,7 +461,7 @@ class SinglyLinkedList {
461
461
  let count = 0;
462
462
  let current = this.head;
463
463
  while (current) {
464
- if (current.val === value) {
464
+ if (current.value === value) {
465
465
  count++;
466
466
  }
467
467
  current = current.next;
@@ -470,7 +470,7 @@ class SinglyLinkedList {
470
470
  }
471
471
  /**
472
472
  * The `forEach` function iterates over each element in a linked list and applies a callback function to each element.
473
- * @param callback - The callback parameter is a function that takes two arguments: val and index. The val argument
473
+ * @param callback - The callback parameter is a function that takes two arguments: value and index. The value argument
474
474
  * represents the value of the current node in the linked list, and the index argument represents the index of the
475
475
  * current node in the linked list.
476
476
  */
@@ -478,7 +478,7 @@ class SinglyLinkedList {
478
478
  let current = this.head;
479
479
  let index = 0;
480
480
  while (current) {
481
- callback(current.val, index);
481
+ callback(current.value, index);
482
482
  current = current.next;
483
483
  index++;
484
484
  }
@@ -495,7 +495,7 @@ class SinglyLinkedList {
495
495
  const mappedList = new SinglyLinkedList();
496
496
  let current = this.head;
497
497
  while (current) {
498
- mappedList.push(callback(current.val));
498
+ mappedList.push(callback(current.value));
499
499
  current = current.next;
500
500
  }
501
501
  return mappedList;
@@ -511,8 +511,8 @@ class SinglyLinkedList {
511
511
  const filteredList = new SinglyLinkedList();
512
512
  let current = this.head;
513
513
  while (current) {
514
- if (callback(current.val)) {
515
- filteredList.push(current.val);
514
+ if (callback(current.value)) {
515
+ filteredList.push(current.value);
516
516
  }
517
517
  current = current.next;
518
518
  }
@@ -521,7 +521,7 @@ class SinglyLinkedList {
521
521
  /**
522
522
  * The `reduce` function iterates over a linked list and applies a callback function to each element, accumulating a
523
523
  * single value.
524
- * @param callback - The `callback` parameter is a function that takes two arguments: `accumulator` and `val`. It is
524
+ * @param callback - The `callback` parameter is a function that takes two arguments: `accumulator` and `value`. It is
525
525
  * used to perform a specific operation on each element of the linked list.
526
526
  * @param {U} initialValue - The `initialValue` parameter is the initial value of the accumulator. It is the starting
527
527
  * point for the reduction operation.
@@ -532,7 +532,7 @@ class SinglyLinkedList {
532
532
  let accumulator = initialValue;
533
533
  let current = this.head;
534
534
  while (current) {
535
- accumulator = callback(accumulator, current.val);
535
+ accumulator = callback(accumulator, current.value);
536
536
  current = current.next;
537
537
  }
538
538
  return accumulator;
@@ -543,7 +543,7 @@ class SinglyLinkedList {
543
543
  *[Symbol.iterator]() {
544
544
  let current = this.head;
545
545
  while (current) {
546
- yield current.val;
546
+ yield current.value;
547
547
  current = current.next;
548
548
  }
549
549
  }
@@ -1 +1 @@
1
- {"version":3,"file":"singly-linked-list.js","sourceRoot":"","sources":["../../../../src/data-structures/linked-list/singly-linked-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singly-linked-list.js","sourceRoot":"","sources":["../../../../src/data-structures/linked-list/singly-linked-list.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * @class
5
5
  */
6
6
  import { SinglyLinkedList } from '../linked-list';
7
- export declare class LinkedListQueue<E = any> extends SinglyLinkedList<E> {
7
+ export declare class SkipQueue<E = any> extends SinglyLinkedList<E> {
8
8
  /**
9
9
  * The enqueue function adds a value to the end of an array.
10
10
  * @param {E} value - The value parameter represents the value that you want to add to the queue.
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Queue = exports.LinkedListQueue = void 0;
3
+ exports.Queue = exports.SkipQueue = void 0;
4
4
  /**
5
5
  * @license MIT
6
6
  * @copyright Tyler Zeng <zrwusa@gmail.com>
7
7
  * @class
8
8
  */
9
9
  const linked_list_1 = require("../linked-list");
10
- class LinkedListQueue extends linked_list_1.SinglyLinkedList {
10
+ class SkipQueue extends linked_list_1.SinglyLinkedList {
11
11
  /**
12
12
  * The enqueue function adds a value to the end of an array.
13
13
  * @param {E} value - The value parameter represents the value that you want to add to the queue.
@@ -28,10 +28,10 @@ class LinkedListQueue extends linked_list_1.SinglyLinkedList {
28
28
  */
29
29
  peek() {
30
30
  var _a;
31
- return (_a = this.head) === null || _a === void 0 ? void 0 : _a.val;
31
+ return (_a = this.head) === null || _a === void 0 ? void 0 : _a.value;
32
32
  }
33
33
  }
34
- exports.LinkedListQueue = LinkedListQueue;
34
+ exports.SkipQueue = SkipQueue;
35
35
  class Queue {
36
36
  /**
37
37
  * The constructor initializes an instance of a class with an optional array of elements and sets the offset to 0.
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/queue.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BinaryTreeNode } from '../data-structures';
2
2
  import { BinaryTreeDeletedResult, BTNKey, BinaryTreeNodeNested, BTNCallback } from '../types';
3
3
  export interface IBinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNodeNested<V>> {
4
- createNode(key: BTNKey, val?: N['val']): N;
5
- add(keyOrNode: BTNKey | N | null, val?: N['val']): N | null | undefined;
4
+ createNode(key: BTNKey, value?: N['value']): N;
5
+ add(keyOrNode: BTNKey | N | null, value?: N['value']): N | null | undefined;
6
6
  delete<C extends BTNCallback<N>>(identifier: ReturnType<C> | null, callback: C): BinaryTreeDeletedResult<N>[];
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { VertexKey } from '../types';
2
- export interface IGraph<V, E> {
3
- createVertex(key: VertexKey, val?: V): V;
4
- createEdge(srcOrV1: VertexKey | string, destOrV2: VertexKey | string, weight?: number, val?: E): E;
2
+ export interface IGraph<V, E, VO, EO> {
3
+ createVertex(key: VertexKey, value?: V): VO;
4
+ createEdge(srcOrV1: VertexKey, destOrV2: VertexKey, weight?: number, value?: E): EO;
5
5
  }
@@ -11,7 +11,7 @@ import { BTNCallback } from '../../types';
11
11
  import { IBinaryTree } from '../../interfaces';
12
12
  export declare class AVLTreeNode<V = any, N extends AVLTreeNode<V, N> = AVLTreeNodeNested<V>> extends BSTNode<V, N> {
13
13
  height: number;
14
- constructor(key: BTNKey, val?: V);
14
+ constructor(key: BTNKey, value?: V);
15
15
  }
16
16
  export declare class AVLTree<V = any, N extends AVLTreeNode<V, N> = AVLTreeNode<V, AVLTreeNodeNested<V>>> extends BST<V, N> implements IBinaryTree<V, N> {
17
17
  /**
@@ -25,22 +25,22 @@ export declare class AVLTree<V = any, N extends AVLTreeNode<V, N> = AVLTreeNode<
25
25
  * The function creates a new AVL tree node with the specified key and value.
26
26
  * @param {BTNKey} key - The key parameter is the key value that will be associated with
27
27
  * the new node. It is used to determine the position of the node in the binary search tree.
28
- * @param [val] - The parameter `val` is an optional value that can be assigned to the node. It is of
29
- * type `V`, which means it can be any value that is assignable to the `val` property of the
28
+ * @param [value] - The parameter `value` is an optional value that can be assigned to the node. It is of
29
+ * type `V`, which means it can be any value that is assignable to the `value` property of the
30
30
  * node type `N`.
31
31
  * @returns a new AVLTreeNode object with the specified key and value.
32
32
  */
33
- createNode(key: BTNKey, val?: V): N;
33
+ createNode(key: BTNKey, value?: V): N;
34
34
  /**
35
35
  * The function overrides the add method of a binary tree node and balances the tree after inserting
36
36
  * a new node.
37
37
  * @param {BTNKey | N | null} keyOrNode - The `keyOrNode` parameter can accept either a
38
38
  * `BTNKey` or a `N` (which represents a node in the binary tree) or `null`.
39
- * @param [val] - The `val` parameter is the value that you want to assign to the new node that you
39
+ * @param [value] - The `value` parameter is the value that you want to assign to the new node that you
40
40
  * are adding to the binary search tree.
41
41
  * @returns The method is returning the inserted node (`N`), `null`, or `undefined`.
42
42
  */
43
- add(keyOrNode: BTNKey | N | null, val?: V): N | null | undefined;
43
+ add(keyOrNode: BTNKey | N | null, value?: V): N | null | undefined;
44
44
  /**
45
45
  * The function overrides the delete method of a binary tree and balances the tree after deleting a
46
46
  * node if necessary.