data-structure-typed 1.34.8 → 1.34.9

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 (126) hide show
  1. package/.eslintrc.js +1 -0
  2. package/CHANGELOG.md +1 -1
  3. package/CONTRIBUTING.md +0 -0
  4. package/README.md +8 -8
  5. package/dist/data-structures/binary-tree/aa-tree.js +2 -5
  6. package/dist/data-structures/binary-tree/aa-tree.js.map +1 -1
  7. package/dist/data-structures/binary-tree/abstract-binary-tree.js +280 -423
  8. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  9. package/dist/data-structures/binary-tree/avl-tree.js +63 -89
  10. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  11. package/dist/data-structures/binary-tree/b-tree.js +2 -5
  12. package/dist/data-structures/binary-tree/b-tree.js.map +1 -1
  13. package/dist/data-structures/binary-tree/binary-indexed-tree.js +17 -22
  14. package/dist/data-structures/binary-tree/binary-indexed-tree.js.map +1 -1
  15. package/dist/data-structures/binary-tree/binary-tree.js +11 -30
  16. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  17. package/dist/data-structures/binary-tree/bst.js +127 -214
  18. package/dist/data-structures/binary-tree/bst.js.map +1 -1
  19. package/dist/data-structures/binary-tree/rb-tree.js +19 -43
  20. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
  21. package/dist/data-structures/binary-tree/segment-tree.js +80 -122
  22. package/dist/data-structures/binary-tree/segment-tree.js.map +1 -1
  23. package/dist/data-structures/binary-tree/splay-tree.js +2 -5
  24. package/dist/data-structures/binary-tree/splay-tree.js.map +1 -1
  25. package/dist/data-structures/binary-tree/tree-multiset.js +147 -218
  26. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
  27. package/dist/data-structures/binary-tree/two-three-tree.js +2 -5
  28. package/dist/data-structures/binary-tree/two-three-tree.js.map +1 -1
  29. package/dist/data-structures/graph/abstract-graph.js +338 -572
  30. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  31. package/dist/data-structures/graph/directed-graph.js +145 -275
  32. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  33. package/dist/data-structures/graph/map-graph.js +46 -87
  34. package/dist/data-structures/graph/map-graph.js.map +1 -1
  35. package/dist/data-structures/graph/undirected-graph.js +90 -179
  36. package/dist/data-structures/graph/undirected-graph.js.map +1 -1
  37. package/dist/data-structures/hash/coordinate-map.js +23 -45
  38. package/dist/data-structures/hash/coordinate-map.js.map +1 -1
  39. package/dist/data-structures/hash/coordinate-set.js +20 -42
  40. package/dist/data-structures/hash/coordinate-set.js.map +1 -1
  41. package/dist/data-structures/hash/hash-map.js +85 -247
  42. package/dist/data-structures/hash/hash-map.js.map +1 -1
  43. package/dist/data-structures/hash/hash-table.js +87 -128
  44. package/dist/data-structures/hash/hash-table.js.map +1 -1
  45. package/dist/data-structures/hash/pair.js +2 -5
  46. package/dist/data-structures/hash/pair.js.map +1 -1
  47. package/dist/data-structures/hash/tree-map.js +2 -5
  48. package/dist/data-structures/hash/tree-map.js.map +1 -1
  49. package/dist/data-structures/hash/tree-set.js +2 -5
  50. package/dist/data-structures/hash/tree-set.js.map +1 -1
  51. package/dist/data-structures/heap/heap.js +56 -80
  52. package/dist/data-structures/heap/heap.js.map +1 -1
  53. package/dist/data-structures/heap/max-heap.js +8 -26
  54. package/dist/data-structures/heap/max-heap.js.map +1 -1
  55. package/dist/data-structures/heap/min-heap.js +8 -26
  56. package/dist/data-structures/heap/min-heap.js.map +1 -1
  57. package/dist/data-structures/linked-list/doubly-linked-list.js +149 -218
  58. package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  59. package/dist/data-structures/linked-list/singly-linked-list.js +119 -218
  60. package/dist/data-structures/linked-list/singly-linked-list.js.map +1 -1
  61. package/dist/data-structures/linked-list/skip-linked-list.js +50 -70
  62. package/dist/data-structures/linked-list/skip-linked-list.js.map +1 -1
  63. package/dist/data-structures/matrix/matrix.js +7 -8
  64. package/dist/data-structures/matrix/matrix.js.map +1 -1
  65. package/dist/data-structures/matrix/matrix2d.js +57 -70
  66. package/dist/data-structures/matrix/matrix2d.js.map +1 -1
  67. package/dist/data-structures/matrix/navigator.js +18 -37
  68. package/dist/data-structures/matrix/navigator.js.map +1 -1
  69. package/dist/data-structures/matrix/vector2d.js +63 -84
  70. package/dist/data-structures/matrix/vector2d.js.map +1 -1
  71. package/dist/data-structures/priority-queue/max-priority-queue.js +13 -41
  72. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  73. package/dist/data-structures/priority-queue/min-priority-queue.js +13 -41
  74. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  75. package/dist/data-structures/priority-queue/priority-queue.js +93 -139
  76. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  77. package/dist/data-structures/queue/deque.js +82 -128
  78. package/dist/data-structures/queue/deque.js.map +1 -1
  79. package/dist/data-structures/queue/queue.js +57 -157
  80. package/dist/data-structures/queue/queue.js.map +1 -1
  81. package/dist/data-structures/stack/stack.js +21 -22
  82. package/dist/data-structures/stack/stack.js.map +1 -1
  83. package/dist/data-structures/tree/tree.js +32 -45
  84. package/dist/data-structures/tree/tree.js.map +1 -1
  85. package/dist/data-structures/trie/trie.js +93 -200
  86. package/dist/data-structures/trie/trie.js.map +1 -1
  87. package/dist/types/data-structures/abstract-binary-tree.js.map +1 -1
  88. package/dist/utils/utils.js +22 -107
  89. package/dist/utils/utils.js.map +1 -1
  90. package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +79 -78
  91. package/lib/data-structures/binary-tree/abstract-binary-tree.js +61 -141
  92. package/lib/data-structures/binary-tree/avl-tree.d.ts +9 -0
  93. package/lib/data-structures/binary-tree/avl-tree.js +22 -0
  94. package/lib/data-structures/binary-tree/bst.d.ts +3 -3
  95. package/lib/data-structures/binary-tree/bst.js +12 -15
  96. package/lib/data-structures/binary-tree/tree-multiset.d.ts +16 -18
  97. package/lib/data-structures/binary-tree/tree-multiset.js +26 -36
  98. package/lib/data-structures/graph/abstract-graph.d.ts +2 -2
  99. package/lib/data-structures/graph/abstract-graph.js +5 -5
  100. package/lib/data-structures/priority-queue/priority-queue.d.ts +3 -3
  101. package/lib/data-structures/priority-queue/priority-queue.js +3 -3
  102. package/lib/interfaces/abstract-binary-tree.d.ts +23 -28
  103. package/lib/interfaces/avl-tree.d.ts +3 -1
  104. package/lib/interfaces/bst.d.ts +2 -1
  105. package/lib/types/data-structures/abstract-binary-tree.js +0 -1
  106. package/package.json +6 -6
  107. package/src/data-structures/binary-tree/abstract-binary-tree.ts +151 -203
  108. package/src/data-structures/binary-tree/avl-tree.ts +29 -0
  109. package/src/data-structures/binary-tree/bst.ts +12 -15
  110. package/src/data-structures/binary-tree/tree-multiset.ts +27 -39
  111. package/src/data-structures/graph/abstract-graph.ts +5 -5
  112. package/src/data-structures/priority-queue/priority-queue.ts +3 -3
  113. package/src/interfaces/abstract-binary-tree.ts +23 -36
  114. package/src/interfaces/avl-tree.ts +3 -1
  115. package/src/interfaces/bst.ts +1 -1
  116. package/src/types/data-structures/abstract-binary-tree.ts +0 -1
  117. package/test/integration/avl-tree.test.ts +24 -24
  118. package/test/integration/bst.test.ts +71 -71
  119. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +4 -4
  120. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +1 -9
  121. package/test/unit/data-structures/binary-tree/bst.test.ts +8 -8
  122. package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
  123. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +9 -9
  124. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +4 -4
  125. package/umd/bundle.min.js +1 -1
  126. package/umd/bundle.min.js.map +1 -1
@@ -1,112 +1,87 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.HashTable = exports.HashTableNode = void 0;
15
- var HashTableNode = (function () {
16
- function HashTableNode(key, val) {
4
+ class HashTableNode {
5
+ constructor(key, val) {
17
6
  this.key = key;
18
7
  this.val = val;
19
8
  this.next = null;
20
9
  }
21
- return HashTableNode;
22
- }());
10
+ }
23
11
  exports.HashTableNode = HashTableNode;
24
- var HashTable = (function () {
25
- function HashTable(capacity, hashFn) {
26
- if (capacity === void 0) { capacity = HashTable.DEFAULT_CAPACITY; }
12
+ class HashTable {
13
+ get hashFn() {
14
+ return this._hashFn;
15
+ }
16
+ set hashFn(value) {
17
+ this._hashFn = value;
18
+ }
19
+ get buckets() {
20
+ return this._buckets;
21
+ }
22
+ set buckets(value) {
23
+ this._buckets = value;
24
+ }
25
+ get capacity() {
26
+ return this._capacity;
27
+ }
28
+ set capacity(value) {
29
+ this._capacity = value;
30
+ }
31
+ constructor(capacity = HashTable.DEFAULT_CAPACITY, hashFn) {
27
32
  this._hashFn = hashFn || this._defaultHashFn;
28
33
  this._capacity = Math.max(capacity, HashTable.DEFAULT_CAPACITY);
29
34
  this._size = 0;
30
35
  this._buckets = new Array(this._capacity).fill(null);
31
36
  }
32
- Object.defineProperty(HashTable.prototype, "hashFn", {
33
- get: function () {
34
- return this._hashFn;
35
- },
36
- set: function (value) {
37
- this._hashFn = value;
38
- },
39
- enumerable: false,
40
- configurable: true
41
- });
42
- Object.defineProperty(HashTable.prototype, "buckets", {
43
- get: function () {
44
- return this._buckets;
45
- },
46
- set: function (value) {
47
- this._buckets = value;
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- Object.defineProperty(HashTable.prototype, "capacity", {
53
- get: function () {
54
- return this._capacity;
55
- },
56
- set: function (value) {
57
- this._capacity = value;
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- HashTable.prototype._defaultHashFn = function (key) {
63
- var hashValue = typeof key === 'string' ? this._murmurStringHashFn(key) : this._objectHash(key);
37
+ _defaultHashFn(key) {
38
+ const hashValue = typeof key === 'string' ? this._murmurStringHashFn(key) : this._objectHash(key);
64
39
  return hashValue % this._capacity;
65
- };
66
- HashTable.prototype._multiplicativeStringHashFn = function (key) {
67
- var keyString = String(key);
68
- var hash = 0;
69
- for (var i = 0; i < keyString.length; i++) {
70
- var charCode = keyString.charCodeAt(i);
71
- var A = 0.618033988749895;
72
- var M = 1 << 30;
40
+ }
41
+ _multiplicativeStringHashFn(key) {
42
+ const keyString = String(key);
43
+ let hash = 0;
44
+ for (let i = 0; i < keyString.length; i++) {
45
+ const charCode = keyString.charCodeAt(i);
46
+ const A = 0.618033988749895;
47
+ const M = 1 << 30;
73
48
  hash = (hash * A + charCode) % M;
74
49
  }
75
50
  return Math.abs(hash);
76
- };
77
- HashTable.prototype._murmurStringHashFn = function (key) {
78
- var keyString = String(key);
79
- var seed = 0;
80
- var hash = seed;
81
- for (var i = 0; i < keyString.length; i++) {
82
- var char = keyString.charCodeAt(i);
51
+ }
52
+ _murmurStringHashFn(key) {
53
+ const keyString = String(key);
54
+ const seed = 0;
55
+ let hash = seed;
56
+ for (let i = 0; i < keyString.length; i++) {
57
+ const char = keyString.charCodeAt(i);
83
58
  hash = (hash ^ char) * 0x5bd1e995;
84
59
  hash = (hash ^ (hash >>> 15)) * 0x27d4eb2d;
85
60
  hash = hash ^ (hash >>> 15);
86
61
  }
87
62
  return Math.abs(hash);
88
- };
89
- HashTable.prototype._hash = function (key) {
63
+ }
64
+ _hash(key) {
90
65
  return this.hashFn(key);
91
- };
92
- HashTable.prototype._stringHash = function (key) {
93
- var hash = 0;
94
- for (var i = 0; i < key.length; i++) {
66
+ }
67
+ _stringHash(key) {
68
+ let hash = 0;
69
+ for (let i = 0; i < key.length; i++) {
95
70
  hash = (hash * 31 + key.charCodeAt(i)) & 0xffffffff;
96
71
  }
97
72
  return hash;
98
- };
99
- HashTable.prototype._objectHash = function (key) {
73
+ }
74
+ _objectHash(key) {
100
75
  return this._stringHash(JSON.stringify(key));
101
- };
102
- HashTable.prototype.set = function (key, val) {
103
- var index = this._hash(key);
104
- var newNode = new HashTableNode(key, val);
76
+ }
77
+ set(key, val) {
78
+ const index = this._hash(key);
79
+ const newNode = new HashTableNode(key, val);
105
80
  if (!this._buckets[index]) {
106
81
  this._buckets[index] = newNode;
107
82
  }
108
83
  else {
109
- var currentNode = this._buckets[index];
84
+ let currentNode = this._buckets[index];
110
85
  while (currentNode) {
111
86
  if (currentNode.key === key) {
112
87
  currentNode.val = val;
@@ -123,10 +98,10 @@ var HashTable = (function () {
123
98
  if (this._size / this._capacity >= HashTable.LOAD_FACTOR) {
124
99
  this._expand();
125
100
  }
126
- };
127
- HashTable.prototype.get = function (key) {
128
- var index = this._hash(key);
129
- var currentNode = this._buckets[index];
101
+ }
102
+ get(key) {
103
+ const index = this._hash(key);
104
+ let currentNode = this._buckets[index];
130
105
  while (currentNode) {
131
106
  if (currentNode.key === key) {
132
107
  return currentNode.val;
@@ -134,11 +109,11 @@ var HashTable = (function () {
134
109
  currentNode = currentNode.next;
135
110
  }
136
111
  return undefined;
137
- };
138
- HashTable.prototype.remove = function (key) {
139
- var index = this._hash(key);
140
- var currentNode = this._buckets[index];
141
- var prevNode = null;
112
+ }
113
+ remove(key) {
114
+ const index = this._hash(key);
115
+ let currentNode = this._buckets[index];
116
+ let prevNode = null;
142
117
  while (currentNode) {
143
118
  if (currentNode.key === key) {
144
119
  if (prevNode) {
@@ -154,52 +129,36 @@ var HashTable = (function () {
154
129
  prevNode = currentNode;
155
130
  currentNode = currentNode.next;
156
131
  }
157
- };
158
- HashTable.prototype._expand = function () {
159
- var e_1, _a;
160
- var newCapacity = this._capacity * 2;
161
- var newBuckets = new Array(newCapacity).fill(null);
162
- try {
163
- for (var _b = __values(this._buckets), _c = _b.next(); !_c.done; _c = _b.next()) {
164
- var bucket = _c.value;
165
- var currentNode = bucket;
166
- while (currentNode) {
167
- var newIndex = this._hash(currentNode.key);
168
- var newNode = new HashTableNode(currentNode.key, currentNode.val);
169
- if (!newBuckets[newIndex]) {
170
- newBuckets[newIndex] = newNode;
171
- }
172
- else {
173
- var currentNewNode = newBuckets[newIndex];
174
- while (currentNewNode.next) {
175
- currentNewNode = currentNewNode.next;
176
- }
177
- currentNewNode.next = newNode;
132
+ }
133
+ _expand() {
134
+ const newCapacity = this._capacity * 2;
135
+ const newBuckets = new Array(newCapacity).fill(null);
136
+ for (const bucket of this._buckets) {
137
+ let currentNode = bucket;
138
+ while (currentNode) {
139
+ const newIndex = this._hash(currentNode.key);
140
+ const newNode = new HashTableNode(currentNode.key, currentNode.val);
141
+ if (!newBuckets[newIndex]) {
142
+ newBuckets[newIndex] = newNode;
143
+ }
144
+ else {
145
+ let currentNewNode = newBuckets[newIndex];
146
+ while (currentNewNode.next) {
147
+ currentNewNode = currentNewNode.next;
178
148
  }
179
- currentNode = currentNode.next;
149
+ currentNewNode.next = newNode;
180
150
  }
151
+ currentNode = currentNode.next;
181
152
  }
182
153
  }
183
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
184
- finally {
185
- try {
186
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
187
- }
188
- finally { if (e_1) throw e_1.error; }
189
- }
190
154
  this._buckets = newBuckets;
191
155
  this._capacity = newCapacity;
192
- };
193
- Object.defineProperty(HashTable.prototype, "size", {
194
- get: function () {
195
- return this._size;
196
- },
197
- enumerable: false,
198
- configurable: true
199
- });
200
- HashTable.DEFAULT_CAPACITY = 16;
201
- HashTable.LOAD_FACTOR = 0.75;
202
- return HashTable;
203
- }());
156
+ }
157
+ get size() {
158
+ return this._size;
159
+ }
160
+ }
204
161
  exports.HashTable = HashTable;
162
+ HashTable.DEFAULT_CAPACITY = 16;
163
+ HashTable.LOAD_FACTOR = 0.75;
205
164
  //# sourceMappingURL=hash-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash-table.js","sourceRoot":"","sources":["../../../src/data-structures/hash/hash-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash-table.js","sourceRoot":"","sources":["../../../src/data-structures/hash/hash-table.ts"],"names":[],"mappings":";;;AAQA,MAAa,aAAa;IAKxB,YAAY,GAAM,EAAE,GAAM;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAVD,sCAUC;AAID,MAAa,SAAS;IACpB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAsB;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAUD,YAAY,WAAmB,SAAS,CAAC,gBAAgB,EAAE,MAAwB;QACjF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAA6B,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAUS,cAAc,CAAC,GAAM;QAE7B,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClG,OAAO,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;IASS,2BAA2B,CAAI,GAAM;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,CAAC,GAAG,iBAAiB,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAQS,mBAAmB,CAAI,GAAM;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;YAC3C,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAOS,KAAK,CAAC,GAAM;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAQS,WAAW,CAAC,GAAW;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;SACrD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IASS,WAAW,CAAC,GAAM;QAI1B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAWD,GAAG,CAAC,GAAM,EAAE,GAAM;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,aAAa,CAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;SAChC;aAAM;YAEL,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAC;YACxC,OAAO,WAAW,EAAE;gBAClB,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE;oBAE3B,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;oBACtB,OAAO;iBACR;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;oBACrB,MAAM;iBACP;gBACD,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;aAChC;YAED,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;SAC5B;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;QAGb,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IASD,GAAG,CAAC,GAAM;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO,WAAW,EAAE;YAClB,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE;gBAC3B,OAAO,WAAW,CAAC,GAAG,CAAC;aACxB;YACD,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;SAChC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,MAAM,CAAC,GAAM;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,QAAQ,GAA+B,IAAI,CAAC;QAEhD,OAAO,WAAW,EAAE;YAClB,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE;gBAC3B,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;iBACzC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;gBACxB,OAAO;aACR;YACD,QAAQ,GAAG,WAAW,CAAC;YACvB,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;SAChC;IACH,CAAC;IAMS,OAAO;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,KAAK,CAA6B,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,OAAO,WAAW,EAAE;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,IAAI,aAAa,CAAO,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBAE1E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACzB,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;iBAChC;qBAAM;oBACL,IAAI,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAE,CAAC;oBAC3C,OAAO,cAAc,CAAC,IAAI,EAAE;wBAC1B,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;qBACtC;oBACD,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC;iBAC/B;gBACD,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;aAChC;SACF;QAED,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;;AA7PH,8BA8PC;AArOyB,0BAAgB,GAAG,EAAE,CAAC;AACtB,qBAAW,GAAG,IAAI,CAAC"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Pair = void 0;
4
- var Pair = (function () {
5
- function Pair() {
6
- }
7
- return Pair;
8
- }());
4
+ class Pair {
5
+ }
9
6
  exports.Pair = Pair;
10
7
  //# sourceMappingURL=pair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pair.js","sourceRoot":"","sources":["../../../src/data-structures/hash/pair.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAAmB,CAAC;IAAD,WAAC;AAAD,CAAC,AAApB,IAAoB;AAAP,oBAAI"}
1
+ {"version":3,"file":"pair.js","sourceRoot":"","sources":["../../../src/data-structures/hash/pair.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;CAAG;AAApB,oBAAoB"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TreeMap = void 0;
4
- var TreeMap = (function () {
5
- function TreeMap() {
6
- }
7
- return TreeMap;
8
- }());
4
+ class TreeMap {
5
+ }
9
6
  exports.TreeMap = TreeMap;
10
7
  //# sourceMappingURL=tree-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-map.js","sourceRoot":"","sources":["../../../src/data-structures/hash/tree-map.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAAsB,CAAC;IAAD,cAAC;AAAD,CAAC,AAAvB,IAAuB;AAAV,0BAAO"}
1
+ {"version":3,"file":"tree-map.js","sourceRoot":"","sources":["../../../src/data-structures/hash/tree-map.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;CAAG;AAAvB,0BAAuB"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TreeSet = void 0;
4
- var TreeSet = (function () {
5
- function TreeSet() {
6
- }
7
- return TreeSet;
8
- }());
4
+ class TreeSet {
5
+ }
9
6
  exports.TreeSet = TreeSet;
10
7
  //# sourceMappingURL=tree-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-set.js","sourceRoot":"","sources":["../../../src/data-structures/hash/tree-set.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAAsB,CAAC;IAAD,cAAC;AAAD,CAAC,AAAvB,IAAuB;AAAV,0BAAO"}
1
+ {"version":3,"file":"tree-set.js","sourceRoot":"","sources":["../../../src/data-structures/hash/tree-set.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;CAAG;AAAvB,0BAAuB"}
@@ -1,120 +1,96 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Heap = exports.HeapItem = void 0;
4
- var HeapItem = (function () {
5
- function HeapItem(priority, val) {
6
- if (priority === void 0) { priority = Number.MAX_SAFE_INTEGER; }
7
- if (val === void 0) { val = null; }
4
+ class HeapItem {
5
+ constructor(priority = Number.MAX_SAFE_INTEGER, val = null) {
8
6
  this._val = val;
9
7
  this._priority = priority;
10
8
  }
11
- Object.defineProperty(HeapItem.prototype, "priority", {
12
- get: function () {
13
- return this._priority;
14
- },
15
- set: function (value) {
16
- this._priority = value;
17
- },
18
- enumerable: false,
19
- configurable: true
20
- });
21
- Object.defineProperty(HeapItem.prototype, "val", {
22
- get: function () {
23
- return this._val;
24
- },
25
- set: function (value) {
26
- this._val = value;
27
- },
28
- enumerable: false,
29
- configurable: true
30
- });
31
- return HeapItem;
32
- }());
9
+ get priority() {
10
+ return this._priority;
11
+ }
12
+ set priority(value) {
13
+ this._priority = value;
14
+ }
15
+ get val() {
16
+ return this._val;
17
+ }
18
+ set val(value) {
19
+ this._val = value;
20
+ }
21
+ }
33
22
  exports.HeapItem = HeapItem;
34
- var Heap = (function () {
35
- function Heap(options) {
23
+ class Heap {
24
+ constructor(options) {
36
25
  if (options) {
37
- var priorityExtractor = options.priorityExtractor;
26
+ const { priorityExtractor } = options;
38
27
  if (priorityExtractor !== undefined && typeof priorityExtractor !== 'function') {
39
28
  throw new Error('.constructor expects a valid priority function');
40
29
  }
41
- this._priorityExtractor = priorityExtractor || (function (el) { return +el; });
30
+ this._priorityExtractor = priorityExtractor || (el => +el);
42
31
  }
43
32
  else {
44
- this._priorityExtractor = function (el) { return +el; };
33
+ this._priorityExtractor = el => +el;
45
34
  }
46
35
  }
47
- Object.defineProperty(Heap.prototype, "pq", {
48
- get: function () {
49
- return this._pq;
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- Object.defineProperty(Heap.prototype, "priorityExtractor", {
55
- get: function () {
56
- return this._priorityExtractor;
57
- },
58
- enumerable: false,
59
- configurable: true
60
- });
61
- Object.defineProperty(Heap.prototype, "size", {
62
- get: function () {
63
- return this._pq.size;
64
- },
65
- enumerable: false,
66
- configurable: true
67
- });
68
- Heap.prototype.isEmpty = function () {
36
+ get pq() {
37
+ return this._pq;
38
+ }
39
+ get priorityExtractor() {
40
+ return this._priorityExtractor;
41
+ }
42
+ get size() {
43
+ return this._pq.size;
44
+ }
45
+ isEmpty() {
69
46
  return this._pq.size < 1;
70
- };
71
- Heap.prototype.peek = function (isItem) {
47
+ }
48
+ peek(isItem) {
72
49
  isItem = isItem !== null && isItem !== void 0 ? isItem : false;
73
- var peeked = this._pq.peek();
50
+ const peeked = this._pq.peek();
74
51
  return isItem ? peeked : peeked === null || peeked === void 0 ? void 0 : peeked.val;
75
- };
76
- Heap.prototype.peekLast = function (isItem) {
52
+ }
53
+ peekLast(isItem) {
77
54
  isItem = isItem !== null && isItem !== void 0 ? isItem : false;
78
- var leafItem = this._pq.leaf();
55
+ const leafItem = this._pq.leaf();
79
56
  return isItem ? leafItem : leafItem === null || leafItem === void 0 ? void 0 : leafItem.val;
80
- };
81
- Heap.prototype.add = function (priority, val) {
57
+ }
58
+ add(priority, val) {
82
59
  val = val === undefined ? priority : val;
83
60
  this._pq.add(new HeapItem(priority, val));
84
61
  return this;
85
- };
86
- Heap.prototype.poll = function (isItem) {
62
+ }
63
+ poll(isItem) {
87
64
  isItem = isItem !== null && isItem !== void 0 ? isItem : false;
88
- var top = this._pq.poll();
65
+ const top = this._pq.poll();
89
66
  if (!top) {
90
67
  return null;
91
68
  }
92
69
  return isItem ? top : top.val;
93
- };
94
- Heap.prototype.has = function (node) {
70
+ }
71
+ has(node) {
95
72
  if (node instanceof HeapItem) {
96
73
  return this.pq.getNodes().includes(node);
97
74
  }
98
75
  else {
99
- return (this.pq.getNodes().findIndex(function (item) {
76
+ return (this.pq.getNodes().findIndex(item => {
100
77
  return item.val === node;
101
78
  }) !== -1);
102
79
  }
103
- };
104
- Heap.prototype.toArray = function (isItem) {
80
+ }
81
+ toArray(isItem) {
105
82
  isItem = isItem !== null && isItem !== void 0 ? isItem : false;
106
- var itemArray = this._pq.toArray();
107
- return isItem ? itemArray : itemArray.map(function (item) { return item.val; });
108
- };
109
- Heap.prototype.sort = function (isItem) {
83
+ const itemArray = this._pq.toArray();
84
+ return isItem ? itemArray : itemArray.map(item => item.val);
85
+ }
86
+ sort(isItem) {
110
87
  isItem = isItem !== null && isItem !== void 0 ? isItem : false;
111
- var sorted = this._pq.sort();
112
- return isItem ? sorted : sorted.map(function (item) { return item.val; });
113
- };
114
- Heap.prototype.clear = function () {
88
+ const sorted = this._pq.sort();
89
+ return isItem ? sorted : sorted.map(item => item.val);
90
+ }
91
+ clear() {
115
92
  this._pq.clear();
116
- };
117
- return Heap;
118
- }());
93
+ }
94
+ }
119
95
  exports.Heap = Heap;
120
96
  //# sourceMappingURL=heap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heap.js","sourceRoot":"","sources":["../../../src/data-structures/heap/heap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heap.js","sourceRoot":"","sources":["../../../src/data-structures/heap/heap.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,15 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.MaxHeap = void 0;
19
- var heap_1 = require("./heap");
20
- var priority_queue_1 = require("../priority-queue");
21
- var MaxHeap = (function (_super) {
22
- __extends(MaxHeap, _super);
23
- function MaxHeap(options) {
24
- var _this = _super.call(this, options) || this;
25
- _this._pq = new priority_queue_1.PriorityQueue({
26
- comparator: function (a, b) { return b.priority - a.priority; }
4
+ const heap_1 = require("./heap");
5
+ const priority_queue_1 = require("../priority-queue");
6
+ class MaxHeap extends heap_1.Heap {
7
+ constructor(options) {
8
+ super(options);
9
+ this._pq = new priority_queue_1.PriorityQueue({
10
+ comparator: (a, b) => b.priority - a.priority
27
11
  });
28
- return _this;
29
12
  }
30
- return MaxHeap;
31
- }(heap_1.Heap));
13
+ }
32
14
  exports.MaxHeap = MaxHeap;
33
15
  //# sourceMappingURL=max-heap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"max-heap.js","sourceRoot":"","sources":["../../../src/data-structures/heap/max-heap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAQA,+BAAsC;AACtC,oDAAgD;AAOhD;IAAsC,2BAAO;IAQ3C,iBAAY,OAAwB;QAApC,YACE,kBAAM,OAAO,CAAC,SAIf;QAHC,KAAI,CAAC,GAAG,GAAG,IAAI,8BAAa,CAAc;YACxC,UAAU,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAvB,CAAuB;SAC9C,CAAC,CAAC;;IACL,CAAC;IACH,cAAC;AAAD,CAAC,AAdD,CAAsC,WAAI,GAczC;AAdY,0BAAO"}
1
+ {"version":3,"file":"max-heap.js","sourceRoot":"","sources":["../../../src/data-structures/heap/max-heap.ts"],"names":[],"mappings":";;;AAQA,iCAAsC;AACtC,sDAAgD;AAOhD,MAAa,OAAiB,SAAQ,WAAO;IAQ3C,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,IAAI,8BAAa,CAAc;YACxC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;SAC9C,CAAC,CAAC;IACL,CAAC;CACF;AAdD,0BAcC"}