data-structure-typed 2.1.0 → 2.1.1
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/CHANGELOG.md +5 -1
- package/COMMANDS.md +13 -3
- package/README.md +5 -34
- package/benchmark/report.html +1 -1
- package/benchmark/report.json +101 -101
- package/dist/cjs/index.cjs +13062 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/index.mjs +12984 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/index.cjs +13091 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +13013 -0
- package/dist/index.js.map +1 -0
- package/dist/{cjs → types}/data-structures/binary-tree/avl-tree-counter.d.ts +4 -4
- package/dist/{esm → types}/data-structures/binary-tree/avl-tree-multi-map.d.ts +5 -5
- package/dist/{esm → types}/data-structures/binary-tree/avl-tree.d.ts +4 -4
- package/dist/{esm → types}/data-structures/binary-tree/binary-tree.d.ts +5 -5
- package/dist/{esm → types}/data-structures/binary-tree/bst.d.ts +5 -5
- package/dist/{esm → types}/data-structures/binary-tree/red-black-tree.d.ts +5 -5
- package/dist/{cjs → types}/data-structures/binary-tree/tree-counter.d.ts +4 -4
- package/dist/{cjs → types}/data-structures/binary-tree/tree-multi-map.d.ts +5 -5
- package/dist/{esm → types}/interfaces/binary-tree.d.ts +2 -2
- package/dist/umd/data-structure-typed.js +12 -11
- package/dist/umd/data-structure-typed.js.map +1 -0
- package/dist/umd/data-structure-typed.min.js +2 -2
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/jest.integration.config.js +3 -0
- package/package.json +13 -11
- package/src/data-structures/binary-tree/avl-tree-counter.ts +4 -7
- package/src/data-structures/binary-tree/avl-tree-multi-map.ts +5 -10
- package/src/data-structures/binary-tree/avl-tree.ts +4 -6
- package/src/data-structures/binary-tree/binary-tree.ts +14 -16
- package/src/data-structures/binary-tree/bst.ts +5 -10
- package/src/data-structures/binary-tree/red-black-tree.ts +5 -10
- package/src/data-structures/binary-tree/tree-counter.ts +4 -9
- package/src/data-structures/binary-tree/tree-multi-map.ts +5 -10
- package/src/interfaces/binary-tree.ts +2 -2
- package/test/integration/all-in-one.test.ts +1 -1
- package/test/performance/data-structures/comparison/comparison.test.ts +27 -57
- package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +109 -1
- package/tsconfig-base.json +20 -20
- package/tsconfig-types.json +17 -0
- package/tsconfig.test.json +8 -0
- package/tsup.config.js +11 -22
- package/tsup.node.config.ts +37 -0
- package/dist/cjs/common/index.js +0 -29
- package/dist/cjs/common/index.js.map +0 -1
- package/dist/cjs/data-structures/base/index.js +0 -19
- package/dist/cjs/data-structures/base/index.js.map +0 -1
- package/dist/cjs/data-structures/base/iterable-element-base.js +0 -244
- package/dist/cjs/data-structures/base/iterable-element-base.js.map +0 -1
- package/dist/cjs/data-structures/base/iterable-entry-base.js +0 -184
- package/dist/cjs/data-structures/base/iterable-entry-base.js.map +0 -1
- package/dist/cjs/data-structures/base/linear-base.js +0 -416
- package/dist/cjs/data-structures/base/linear-base.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js +0 -375
- package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -135
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +0 -251
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +0 -291
- package/dist/cjs/data-structures/binary-tree/avl-tree.js +0 -612
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +0 -295
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +0 -754
- package/dist/cjs/data-structures/binary-tree/binary-tree.js +0 -1926
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/bst.d.ts +0 -413
- package/dist/cjs/data-structures/binary-tree/bst.js +0 -904
- package/dist/cjs/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/index.js +0 -27
- package/dist/cjs/data-structures/binary-tree/index.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/red-black-tree.d.ts +0 -208
- package/dist/cjs/data-structures/binary-tree/red-black-tree.js +0 -547
- package/dist/cjs/data-structures/binary-tree/red-black-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/segment-tree.js +0 -298
- package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/tree-counter.js +0 -414
- package/dist/cjs/data-structures/binary-tree/tree-counter.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +0 -385
- package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +0 -1
- package/dist/cjs/data-structures/graph/abstract-graph.js +0 -897
- package/dist/cjs/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/directed-graph.js +0 -526
- package/dist/cjs/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/index.js +0 -21
- package/dist/cjs/data-structures/graph/index.js.map +0 -1
- package/dist/cjs/data-structures/graph/map-graph.js +0 -108
- package/dist/cjs/data-structures/graph/map-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/undirected-graph.js +0 -425
- package/dist/cjs/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/cjs/data-structures/hash/hash-map.js +0 -693
- package/dist/cjs/data-structures/hash/hash-map.js.map +0 -1
- package/dist/cjs/data-structures/hash/index.js +0 -18
- package/dist/cjs/data-structures/hash/index.js.map +0 -1
- package/dist/cjs/data-structures/heap/heap.js +0 -902
- package/dist/cjs/data-structures/heap/heap.js.map +0 -1
- package/dist/cjs/data-structures/heap/index.js +0 -20
- package/dist/cjs/data-structures/heap/index.js.map +0 -1
- package/dist/cjs/data-structures/heap/max-heap.js +0 -41
- package/dist/cjs/data-structures/heap/max-heap.js.map +0 -1
- package/dist/cjs/data-structures/heap/min-heap.js +0 -32
- package/dist/cjs/data-structures/heap/min-heap.js.map +0 -1
- package/dist/cjs/data-structures/index.js +0 -29
- package/dist/cjs/data-structures/index.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +0 -1112
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/index.js +0 -20
- package/dist/cjs/data-structures/linked-list/index.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js +0 -851
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js +0 -145
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +0 -1
- package/dist/cjs/data-structures/matrix/index.js +0 -19
- package/dist/cjs/data-structures/matrix/index.js.map +0 -1
- package/dist/cjs/data-structures/matrix/matrix.js +0 -449
- package/dist/cjs/data-structures/matrix/matrix.js.map +0 -1
- package/dist/cjs/data-structures/matrix/navigator.js +0 -112
- package/dist/cjs/data-structures/matrix/navigator.js.map +0 -1
- package/dist/cjs/data-structures/priority-queue/index.js +0 -20
- package/dist/cjs/data-structures/priority-queue/index.js.map +0 -1
- package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +0 -35
- package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +0 -1
- package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +0 -25
- package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +0 -1
- package/dist/cjs/data-structures/priority-queue/priority-queue.js +0 -21
- package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +0 -1
- package/dist/cjs/data-structures/queue/deque.js +0 -880
- package/dist/cjs/data-structures/queue/deque.js.map +0 -1
- package/dist/cjs/data-structures/queue/index.js +0 -19
- package/dist/cjs/data-structures/queue/index.js.map +0 -1
- package/dist/cjs/data-structures/queue/queue.js +0 -474
- package/dist/cjs/data-structures/queue/queue.js.map +0 -1
- package/dist/cjs/data-structures/stack/index.js +0 -18
- package/dist/cjs/data-structures/stack/index.js.map +0 -1
- package/dist/cjs/data-structures/stack/stack.js +0 -402
- package/dist/cjs/data-structures/stack/stack.js.map +0 -1
- package/dist/cjs/data-structures/tree/index.js +0 -18
- package/dist/cjs/data-structures/tree/index.js.map +0 -1
- package/dist/cjs/data-structures/tree/tree.js +0 -108
- package/dist/cjs/data-structures/tree/tree.js.map +0 -1
- package/dist/cjs/data-structures/trie/index.js +0 -18
- package/dist/cjs/data-structures/trie/index.js.map +0 -1
- package/dist/cjs/data-structures/trie/trie.js +0 -611
- package/dist/cjs/data-structures/trie/trie.js.map +0 -1
- package/dist/cjs/index.js +0 -22
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/interfaces/binary-tree.d.ts +0 -59
- package/dist/cjs/interfaces/binary-tree.js +0 -3
- package/dist/cjs/interfaces/binary-tree.js.map +0 -1
- package/dist/cjs/interfaces/doubly-linked-list.js +0 -3
- package/dist/cjs/interfaces/doubly-linked-list.js.map +0 -1
- package/dist/cjs/interfaces/graph.js +0 -3
- package/dist/cjs/interfaces/graph.js.map +0 -1
- package/dist/cjs/interfaces/heap.js +0 -3
- package/dist/cjs/interfaces/heap.js.map +0 -1
- package/dist/cjs/interfaces/index.js +0 -25
- package/dist/cjs/interfaces/index.js.map +0 -1
- package/dist/cjs/interfaces/navigator.js +0 -3
- package/dist/cjs/interfaces/navigator.js.map +0 -1
- package/dist/cjs/interfaces/priority-queue.js +0 -3
- package/dist/cjs/interfaces/priority-queue.js.map +0 -1
- package/dist/cjs/interfaces/segment-tree.js +0 -3
- package/dist/cjs/interfaces/segment-tree.js.map +0 -1
- package/dist/cjs/interfaces/singly-linked-list.js +0 -3
- package/dist/cjs/interfaces/singly-linked-list.js.map +0 -1
- package/dist/cjs/types/common.js +0 -3
- package/dist/cjs/types/common.js.map +0 -1
- package/dist/cjs/types/data-structures/base/base.js +0 -3
- package/dist/cjs/types/data-structures/base/base.js.map +0 -1
- package/dist/cjs/types/data-structures/base/index.js +0 -18
- package/dist/cjs/types/data-structures/base/index.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/avl-tree.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/bst.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/index.js +0 -26
- package/dist/cjs/types/data-structures/binary-tree/index.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/segment-tree.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/tree-counter.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/tree-counter.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js +0 -3
- package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/abstract-graph.js +0 -3
- package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/directed-graph.js +0 -3
- package/dist/cjs/types/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/index.js +0 -20
- package/dist/cjs/types/data-structures/graph/index.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/map-graph.js +0 -3
- package/dist/cjs/types/data-structures/graph/map-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/undirected-graph.js +0 -3
- package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/hash-map.js +0 -3
- package/dist/cjs/types/data-structures/hash/hash-map.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/index.js +0 -18
- package/dist/cjs/types/data-structures/hash/index.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/heap.js +0 -3
- package/dist/cjs/types/data-structures/heap/heap.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/index.js +0 -18
- package/dist/cjs/types/data-structures/heap/index.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/max-heap.js +0 -3
- package/dist/cjs/types/data-structures/heap/max-heap.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/min-heap.js +0 -3
- package/dist/cjs/types/data-structures/heap/min-heap.js.map +0 -1
- package/dist/cjs/types/data-structures/index.js +0 -29
- package/dist/cjs/types/data-structures/index.js.map +0 -1
- package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js +0 -3
- package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
- package/dist/cjs/types/data-structures/linked-list/index.js +0 -20
- package/dist/cjs/types/data-structures/linked-list/index.js.map +0 -1
- package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js +0 -3
- package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
- package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js +0 -3
- package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/index.js +0 -19
- package/dist/cjs/types/data-structures/matrix/index.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/matrix.js +0 -3
- package/dist/cjs/types/data-structures/matrix/matrix.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/navigator.js +0 -3
- package/dist/cjs/types/data-structures/matrix/navigator.js.map +0 -1
- package/dist/cjs/types/data-structures/priority-queue/index.js +0 -20
- package/dist/cjs/types/data-structures/priority-queue/index.js.map +0 -1
- package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js +0 -3
- package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
- package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js +0 -3
- package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
- package/dist/cjs/types/data-structures/priority-queue/priority-queue.js +0 -3
- package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +0 -1
- package/dist/cjs/types/data-structures/queue/deque.js +0 -3
- package/dist/cjs/types/data-structures/queue/deque.js.map +0 -1
- package/dist/cjs/types/data-structures/queue/index.js +0 -19
- package/dist/cjs/types/data-structures/queue/index.js.map +0 -1
- package/dist/cjs/types/data-structures/queue/queue.js +0 -3
- package/dist/cjs/types/data-structures/queue/queue.js.map +0 -1
- package/dist/cjs/types/data-structures/stack/index.js +0 -18
- package/dist/cjs/types/data-structures/stack/index.js.map +0 -1
- package/dist/cjs/types/data-structures/stack/stack.js +0 -3
- package/dist/cjs/types/data-structures/stack/stack.js.map +0 -1
- package/dist/cjs/types/data-structures/tree/index.js +0 -18
- package/dist/cjs/types/data-structures/tree/index.js.map +0 -1
- package/dist/cjs/types/data-structures/tree/tree.js +0 -3
- package/dist/cjs/types/data-structures/tree/tree.js.map +0 -1
- package/dist/cjs/types/data-structures/trie/index.js +0 -18
- package/dist/cjs/types/data-structures/trie/index.js.map +0 -1
- package/dist/cjs/types/data-structures/trie/trie.js +0 -3
- package/dist/cjs/types/data-structures/trie/trie.js.map +0 -1
- package/dist/cjs/types/index.js +0 -20
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/utils/index.js +0 -19
- package/dist/cjs/types/utils/index.js.map +0 -1
- package/dist/cjs/types/utils/utils.js +0 -3
- package/dist/cjs/types/utils/utils.js.map +0 -1
- package/dist/cjs/types/utils/validate-type.js +0 -3
- package/dist/cjs/types/utils/validate-type.js.map +0 -1
- package/dist/cjs/utils/index.js +0 -19
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/number.js +0 -24
- package/dist/cjs/utils/number.js.map +0 -1
- package/dist/cjs/utils/utils.js +0 -354
- package/dist/cjs/utils/utils.js.map +0 -1
- package/dist/esm/common/index.d.ts +0 -12
- package/dist/esm/common/index.js +0 -29
- package/dist/esm/common/index.js.map +0 -1
- package/dist/esm/data-structures/base/index.d.ts +0 -2
- package/dist/esm/data-structures/base/index.js +0 -3
- package/dist/esm/data-structures/base/index.js.map +0 -1
- package/dist/esm/data-structures/base/iterable-element-base.d.ts +0 -219
- package/dist/esm/data-structures/base/iterable-element-base.js +0 -247
- package/dist/esm/data-structures/base/iterable-element-base.js.map +0 -1
- package/dist/esm/data-structures/base/iterable-entry-base.d.ts +0 -144
- package/dist/esm/data-structures/base/iterable-entry-base.js +0 -180
- package/dist/esm/data-structures/base/iterable-entry-base.js.map +0 -1
- package/dist/esm/data-structures/base/linear-base.d.ts +0 -335
- package/dist/esm/data-structures/base/linear-base.js +0 -412
- package/dist/esm/data-structures/base/linear-base.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/avl-tree-counter.d.ts +0 -182
- package/dist/esm/data-structures/binary-tree/avl-tree-counter.js +0 -369
- package/dist/esm/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js +0 -244
- package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/avl-tree.js +0 -607
- package/dist/esm/data-structures/binary-tree/avl-tree.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -174
- package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js +0 -296
- package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/binary-tree.js +0 -1922
- package/dist/esm/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/bst.js +0 -901
- package/dist/esm/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/index.d.ts +0 -10
- package/dist/esm/data-structures/binary-tree/index.js +0 -11
- package/dist/esm/data-structures/binary-tree/index.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/red-black-tree.js +0 -540
- package/dist/esm/data-structures/binary-tree/red-black-tree.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/segment-tree.d.ts +0 -160
- package/dist/esm/data-structures/binary-tree/segment-tree.js +0 -295
- package/dist/esm/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/tree-counter.d.ts +0 -190
- package/dist/esm/data-structures/binary-tree/tree-counter.js +0 -412
- package/dist/esm/data-structures/binary-tree/tree-counter.js.map +0 -1
- package/dist/esm/data-structures/binary-tree/tree-multi-map.d.ts +0 -270
- package/dist/esm/data-structures/binary-tree/tree-multi-map.js +0 -378
- package/dist/esm/data-structures/binary-tree/tree-multi-map.js.map +0 -1
- package/dist/esm/data-structures/graph/abstract-graph.d.ts +0 -340
- package/dist/esm/data-structures/graph/abstract-graph.js +0 -892
- package/dist/esm/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/esm/data-structures/graph/directed-graph.d.ts +0 -207
- package/dist/esm/data-structures/graph/directed-graph.js +0 -521
- package/dist/esm/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/esm/data-structures/graph/index.d.ts +0 -4
- package/dist/esm/data-structures/graph/index.js +0 -5
- package/dist/esm/data-structures/graph/index.js.map +0 -1
- package/dist/esm/data-structures/graph/map-graph.d.ts +0 -78
- package/dist/esm/data-structures/graph/map-graph.js +0 -105
- package/dist/esm/data-structures/graph/map-graph.js.map +0 -1
- package/dist/esm/data-structures/graph/undirected-graph.d.ts +0 -188
- package/dist/esm/data-structures/graph/undirected-graph.js +0 -418
- package/dist/esm/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/esm/data-structures/hash/hash-map.d.ts +0 -345
- package/dist/esm/data-structures/hash/hash-map.js +0 -691
- package/dist/esm/data-structures/hash/hash-map.js.map +0 -1
- package/dist/esm/data-structures/hash/index.d.ts +0 -1
- package/dist/esm/data-structures/hash/index.js +0 -2
- package/dist/esm/data-structures/hash/index.js.map +0 -1
- package/dist/esm/data-structures/heap/heap.d.ts +0 -503
- package/dist/esm/data-structures/heap/heap.js +0 -894
- package/dist/esm/data-structures/heap/heap.js.map +0 -1
- package/dist/esm/data-structures/heap/index.d.ts +0 -3
- package/dist/esm/data-structures/heap/index.js +0 -4
- package/dist/esm/data-structures/heap/index.js.map +0 -1
- package/dist/esm/data-structures/heap/max-heap.d.ts +0 -32
- package/dist/esm/data-structures/heap/max-heap.js +0 -40
- package/dist/esm/data-structures/heap/max-heap.js.map +0 -1
- package/dist/esm/data-structures/heap/min-heap.d.ts +0 -33
- package/dist/esm/data-structures/heap/min-heap.js +0 -28
- package/dist/esm/data-structures/heap/min-heap.js.map +0 -1
- package/dist/esm/data-structures/index.d.ts +0 -12
- package/dist/esm/data-structures/index.js +0 -13
- package/dist/esm/data-structures/index.js.map +0 -1
- package/dist/esm/data-structures/linked-list/doubly-linked-list.d.ts +0 -769
- package/dist/esm/data-structures/linked-list/doubly-linked-list.js +0 -1109
- package/dist/esm/data-structures/linked-list/doubly-linked-list.js.map +0 -1
- package/dist/esm/data-structures/linked-list/index.d.ts +0 -3
- package/dist/esm/data-structures/linked-list/index.js +0 -4
- package/dist/esm/data-structures/linked-list/index.js.map +0 -1
- package/dist/esm/data-structures/linked-list/singly-linked-list.d.ts +0 -451
- package/dist/esm/data-structures/linked-list/singly-linked-list.js +0 -847
- package/dist/esm/data-structures/linked-list/singly-linked-list.js.map +0 -1
- package/dist/esm/data-structures/linked-list/skip-linked-list.d.ts +0 -27
- package/dist/esm/data-structures/linked-list/skip-linked-list.js +0 -143
- package/dist/esm/data-structures/linked-list/skip-linked-list.js.map +0 -1
- package/dist/esm/data-structures/matrix/index.d.ts +0 -2
- package/dist/esm/data-structures/matrix/index.js +0 -3
- package/dist/esm/data-structures/matrix/index.js.map +0 -1
- package/dist/esm/data-structures/matrix/matrix.d.ts +0 -168
- package/dist/esm/data-structures/matrix/matrix.js +0 -444
- package/dist/esm/data-structures/matrix/matrix.js.map +0 -1
- package/dist/esm/data-structures/matrix/navigator.d.ts +0 -55
- package/dist/esm/data-structures/matrix/navigator.js +0 -114
- package/dist/esm/data-structures/matrix/navigator.js.map +0 -1
- package/dist/esm/data-structures/priority-queue/index.d.ts +0 -3
- package/dist/esm/data-structures/priority-queue/index.js +0 -4
- package/dist/esm/data-structures/priority-queue/index.js.map +0 -1
- package/dist/esm/data-structures/priority-queue/max-priority-queue.d.ts +0 -27
- package/dist/esm/data-structures/priority-queue/max-priority-queue.js +0 -34
- package/dist/esm/data-structures/priority-queue/max-priority-queue.js.map +0 -1
- package/dist/esm/data-structures/priority-queue/min-priority-queue.d.ts +0 -26
- package/dist/esm/data-structures/priority-queue/min-priority-queue.js +0 -21
- package/dist/esm/data-structures/priority-queue/min-priority-queue.js.map +0 -1
- package/dist/esm/data-structures/priority-queue/priority-queue.d.ts +0 -15
- package/dist/esm/data-structures/priority-queue/priority-queue.js +0 -17
- package/dist/esm/data-structures/priority-queue/priority-queue.js.map +0 -1
- package/dist/esm/data-structures/queue/deque.d.ts +0 -431
- package/dist/esm/data-structures/queue/deque.js +0 -880
- package/dist/esm/data-structures/queue/deque.js.map +0 -1
- package/dist/esm/data-structures/queue/index.d.ts +0 -2
- package/dist/esm/data-structures/queue/index.js +0 -3
- package/dist/esm/data-structures/queue/index.js.map +0 -1
- package/dist/esm/data-structures/queue/queue.d.ts +0 -308
- package/dist/esm/data-structures/queue/queue.js +0 -467
- package/dist/esm/data-structures/queue/queue.js.map +0 -1
- package/dist/esm/data-structures/stack/index.d.ts +0 -1
- package/dist/esm/data-structures/stack/index.js +0 -2
- package/dist/esm/data-structures/stack/index.js.map +0 -1
- package/dist/esm/data-structures/stack/stack.d.ts +0 -306
- package/dist/esm/data-structures/stack/stack.js +0 -398
- package/dist/esm/data-structures/stack/stack.js.map +0 -1
- package/dist/esm/data-structures/tree/index.d.ts +0 -1
- package/dist/esm/data-structures/tree/index.js +0 -2
- package/dist/esm/data-structures/tree/index.js.map +0 -1
- package/dist/esm/data-structures/tree/tree.d.ts +0 -62
- package/dist/esm/data-structures/tree/tree.js +0 -107
- package/dist/esm/data-structures/tree/tree.js.map +0 -1
- package/dist/esm/data-structures/trie/index.d.ts +0 -1
- package/dist/esm/data-structures/trie/index.js +0 -2
- package/dist/esm/data-structures/trie/index.js.map +0 -1
- package/dist/esm/data-structures/trie/trie.d.ts +0 -350
- package/dist/esm/data-structures/trie/trie.js +0 -613
- package/dist/esm/data-structures/trie/trie.js.map +0 -1
- package/dist/esm/index.d.ts +0 -5
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interfaces/binary-tree.js +0 -2
- package/dist/esm/interfaces/binary-tree.js.map +0 -1
- package/dist/esm/interfaces/doubly-linked-list.d.ts +0 -1
- package/dist/esm/interfaces/doubly-linked-list.js +0 -2
- package/dist/esm/interfaces/doubly-linked-list.js.map +0 -1
- package/dist/esm/interfaces/graph.d.ts +0 -21
- package/dist/esm/interfaces/graph.js +0 -2
- package/dist/esm/interfaces/graph.js.map +0 -1
- package/dist/esm/interfaces/heap.d.ts +0 -1
- package/dist/esm/interfaces/heap.js +0 -2
- package/dist/esm/interfaces/heap.js.map +0 -1
- package/dist/esm/interfaces/index.d.ts +0 -8
- package/dist/esm/interfaces/index.js +0 -9
- package/dist/esm/interfaces/index.js.map +0 -1
- package/dist/esm/interfaces/navigator.d.ts +0 -1
- package/dist/esm/interfaces/navigator.js +0 -2
- package/dist/esm/interfaces/navigator.js.map +0 -1
- package/dist/esm/interfaces/priority-queue.d.ts +0 -1
- package/dist/esm/interfaces/priority-queue.js +0 -2
- package/dist/esm/interfaces/priority-queue.js.map +0 -1
- package/dist/esm/interfaces/segment-tree.d.ts +0 -1
- package/dist/esm/interfaces/segment-tree.js +0 -2
- package/dist/esm/interfaces/segment-tree.js.map +0 -1
- package/dist/esm/interfaces/singly-linked-list.d.ts +0 -1
- package/dist/esm/interfaces/singly-linked-list.js +0 -2
- package/dist/esm/interfaces/singly-linked-list.js.map +0 -1
- package/dist/esm/types/common.d.ts +0 -15
- package/dist/esm/types/common.js +0 -2
- package/dist/esm/types/common.js.map +0 -1
- package/dist/esm/types/data-structures/base/base.d.ts +0 -13
- package/dist/esm/types/data-structures/base/base.js +0 -2
- package/dist/esm/types/data-structures/base/base.js.map +0 -1
- package/dist/esm/types/data-structures/base/index.d.ts +0 -1
- package/dist/esm/types/data-structures/base/index.js +0 -2
- package/dist/esm/types/data-structures/base/index.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/avl-tree.d.ts +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/avl-tree.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -1
- package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/binary-tree.d.ts +0 -29
- package/dist/esm/types/data-structures/binary-tree/binary-tree.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/bst.d.ts +0 -12
- package/dist/esm/types/data-structures/binary-tree/bst.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/index.d.ts +0 -9
- package/dist/esm/types/data-structures/binary-tree/index.js +0 -10
- package/dist/esm/types/data-structures/binary-tree/index.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/red-black-tree.d.ts +0 -3
- package/dist/esm/types/data-structures/binary-tree/red-black-tree.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/segment-tree.d.ts +0 -1
- package/dist/esm/types/data-structures/binary-tree/segment-tree.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/tree-counter.d.ts +0 -2
- package/dist/esm/types/data-structures/binary-tree/tree-counter.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/tree-counter.js.map +0 -1
- package/dist/esm/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -2
- package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js +0 -2
- package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
- package/dist/esm/types/data-structures/graph/abstract-graph.d.ts +0 -14
- package/dist/esm/types/data-structures/graph/abstract-graph.js +0 -2
- package/dist/esm/types/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/esm/types/data-structures/graph/directed-graph.d.ts +0 -1
- package/dist/esm/types/data-structures/graph/directed-graph.js +0 -2
- package/dist/esm/types/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/esm/types/data-structures/graph/index.d.ts +0 -3
- package/dist/esm/types/data-structures/graph/index.js +0 -4
- package/dist/esm/types/data-structures/graph/index.js.map +0 -1
- package/dist/esm/types/data-structures/graph/map-graph.d.ts +0 -1
- package/dist/esm/types/data-structures/graph/map-graph.js +0 -2
- package/dist/esm/types/data-structures/graph/map-graph.js.map +0 -1
- package/dist/esm/types/data-structures/graph/undirected-graph.d.ts +0 -1
- package/dist/esm/types/data-structures/graph/undirected-graph.js +0 -2
- package/dist/esm/types/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/esm/types/data-structures/hash/hash-map.d.ts +0 -19
- package/dist/esm/types/data-structures/hash/hash-map.js +0 -2
- package/dist/esm/types/data-structures/hash/hash-map.js.map +0 -1
- package/dist/esm/types/data-structures/hash/index.d.ts +0 -2
- package/dist/esm/types/data-structures/hash/index.js +0 -2
- package/dist/esm/types/data-structures/hash/index.js.map +0 -1
- package/dist/esm/types/data-structures/heap/heap.d.ts +0 -5
- package/dist/esm/types/data-structures/heap/heap.js +0 -2
- package/dist/esm/types/data-structures/heap/heap.js.map +0 -1
- package/dist/esm/types/data-structures/heap/index.d.ts +0 -1
- package/dist/esm/types/data-structures/heap/index.js +0 -2
- package/dist/esm/types/data-structures/heap/index.js.map +0 -1
- package/dist/esm/types/data-structures/heap/max-heap.d.ts +0 -1
- package/dist/esm/types/data-structures/heap/max-heap.js +0 -2
- package/dist/esm/types/data-structures/heap/max-heap.js.map +0 -1
- package/dist/esm/types/data-structures/heap/min-heap.d.ts +0 -1
- package/dist/esm/types/data-structures/heap/min-heap.js +0 -2
- package/dist/esm/types/data-structures/heap/min-heap.js.map +0 -1
- package/dist/esm/types/data-structures/index.d.ts +0 -12
- package/dist/esm/types/data-structures/index.js +0 -13
- package/dist/esm/types/data-structures/index.js.map +0 -1
- package/dist/esm/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -2
- package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js +0 -2
- package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
- package/dist/esm/types/data-structures/linked-list/index.d.ts +0 -3
- package/dist/esm/types/data-structures/linked-list/index.js +0 -4
- package/dist/esm/types/data-structures/linked-list/index.js.map +0 -1
- package/dist/esm/types/data-structures/linked-list/singly-linked-list.d.ts +0 -2
- package/dist/esm/types/data-structures/linked-list/singly-linked-list.js +0 -2
- package/dist/esm/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
- package/dist/esm/types/data-structures/linked-list/skip-linked-list.d.ts +0 -4
- package/dist/esm/types/data-structures/linked-list/skip-linked-list.js +0 -2
- package/dist/esm/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
- package/dist/esm/types/data-structures/matrix/index.d.ts +0 -2
- package/dist/esm/types/data-structures/matrix/index.js +0 -3
- package/dist/esm/types/data-structures/matrix/index.js.map +0 -1
- package/dist/esm/types/data-structures/matrix/matrix.d.ts +0 -7
- package/dist/esm/types/data-structures/matrix/matrix.js +0 -2
- package/dist/esm/types/data-structures/matrix/matrix.js.map +0 -1
- package/dist/esm/types/data-structures/matrix/navigator.d.ts +0 -14
- package/dist/esm/types/data-structures/matrix/navigator.js +0 -2
- package/dist/esm/types/data-structures/matrix/navigator.js.map +0 -1
- package/dist/esm/types/data-structures/priority-queue/index.d.ts +0 -3
- package/dist/esm/types/data-structures/priority-queue/index.js +0 -4
- package/dist/esm/types/data-structures/priority-queue/index.js.map +0 -1
- package/dist/esm/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -1
- package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js +0 -2
- package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
- package/dist/esm/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -1
- package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js +0 -2
- package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
- package/dist/esm/types/data-structures/priority-queue/priority-queue.d.ts +0 -2
- package/dist/esm/types/data-structures/priority-queue/priority-queue.js +0 -2
- package/dist/esm/types/data-structures/priority-queue/priority-queue.js.map +0 -1
- package/dist/esm/types/data-structures/queue/deque.d.ts +0 -4
- package/dist/esm/types/data-structures/queue/deque.js +0 -2
- package/dist/esm/types/data-structures/queue/deque.js.map +0 -1
- package/dist/esm/types/data-structures/queue/index.d.ts +0 -2
- package/dist/esm/types/data-structures/queue/index.js +0 -3
- package/dist/esm/types/data-structures/queue/index.js.map +0 -1
- package/dist/esm/types/data-structures/queue/queue.d.ts +0 -4
- package/dist/esm/types/data-structures/queue/queue.js +0 -2
- package/dist/esm/types/data-structures/queue/queue.js.map +0 -1
- package/dist/esm/types/data-structures/stack/index.d.ts +0 -1
- package/dist/esm/types/data-structures/stack/index.js +0 -2
- package/dist/esm/types/data-structures/stack/index.js.map +0 -1
- package/dist/esm/types/data-structures/stack/stack.d.ts +0 -2
- package/dist/esm/types/data-structures/stack/stack.js +0 -2
- package/dist/esm/types/data-structures/stack/stack.js.map +0 -1
- package/dist/esm/types/data-structures/tree/index.d.ts +0 -1
- package/dist/esm/types/data-structures/tree/index.js +0 -2
- package/dist/esm/types/data-structures/tree/index.js.map +0 -1
- package/dist/esm/types/data-structures/tree/tree.d.ts +0 -1
- package/dist/esm/types/data-structures/tree/tree.js +0 -2
- package/dist/esm/types/data-structures/tree/tree.js.map +0 -1
- package/dist/esm/types/data-structures/trie/index.d.ts +0 -1
- package/dist/esm/types/data-structures/trie/index.js +0 -2
- package/dist/esm/types/data-structures/trie/index.js.map +0 -1
- package/dist/esm/types/data-structures/trie/trie.d.ts +0 -4
- package/dist/esm/types/data-structures/trie/trie.js +0 -2
- package/dist/esm/types/data-structures/trie/trie.js.map +0 -1
- package/dist/esm/types/index.d.ts +0 -3
- package/dist/esm/types/index.js +0 -4
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/utils/index.d.ts +0 -2
- package/dist/esm/types/utils/index.js +0 -3
- package/dist/esm/types/utils/index.js.map +0 -1
- package/dist/esm/types/utils/utils.d.ts +0 -22
- package/dist/esm/types/utils/utils.js +0 -2
- package/dist/esm/types/utils/utils.js.map +0 -1
- package/dist/esm/types/utils/validate-type.d.ts +0 -19
- package/dist/esm/types/utils/validate-type.js +0 -2
- package/dist/esm/types/utils/validate-type.js.map +0 -1
- package/dist/esm/utils/index.d.ts +0 -2
- package/dist/esm/utils/index.js +0 -3
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/number.d.ts +0 -14
- package/dist/esm/utils/number.js +0 -21
- package/dist/esm/utils/number.js.map +0 -1
- package/dist/esm/utils/utils.d.ts +0 -209
- package/dist/esm/utils/utils.js +0 -325
- package/dist/esm/utils/utils.js.map +0 -1
- package/tsconfig-cjs.json +0 -14
- package/tsconfig-esm.json +0 -14
- /package/dist/{cjs → types}/common/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/base/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/base/iterable-element-base.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/base/iterable-entry-base.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/base/linear-base.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/binary-tree/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/graph/abstract-graph.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/graph/directed-graph.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/graph/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/graph/map-graph.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/graph/undirected-graph.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/hash/hash-map.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/hash/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/heap/heap.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/heap/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/heap/max-heap.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/heap/min-heap.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/linked-list/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/matrix/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/matrix/matrix.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/matrix/navigator.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/priority-queue/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/queue/deque.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/queue/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/queue/queue.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/stack/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/stack/stack.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/tree/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/tree/tree.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/trie/index.d.ts +0 -0
- /package/dist/{cjs → types}/data-structures/trie/trie.d.ts +0 -0
- /package/dist/{cjs → types}/index.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/doubly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/graph.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/heap.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/index.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/navigator.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/segment-tree.d.ts +0 -0
- /package/dist/{cjs → types}/interfaces/singly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/types/common.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/base/base.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/base/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/bst.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/red-black-tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-counter.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/graph/abstract-graph.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/graph/directed-graph.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/graph/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/graph/map-graph.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/graph/undirected-graph.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/hash/hash-map.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/hash/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/heap/heap.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/heap/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/heap/max-heap.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/heap/min-heap.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/linked-list/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/matrix/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/matrix/matrix.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/matrix/navigator.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/priority-queue/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/queue/deque.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/queue/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/queue/queue.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/stack/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/stack/stack.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/tree/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/tree/tree.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/trie/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/data-structures/trie/trie.d.ts +0 -0
- /package/dist/{cjs → types}/types/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/utils/index.d.ts +0 -0
- /package/dist/{cjs → types}/types/utils/utils.d.ts +0 -0
- /package/dist/{cjs → types}/types/utils/validate-type.d.ts +0 -0
- /package/dist/{cjs → types}/utils/index.d.ts +0 -0
- /package/dist/{cjs → types}/utils/number.d.ts +0 -0
- /package/dist/{cjs → types}/utils/utils.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/data-structures/stack/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './tree';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data-structures/tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export declare class TreeNode<V = any> {
|
|
2
|
-
/**
|
|
3
|
-
* The constructor function initializes a TreeNode object with a key, optional value, and optional
|
|
4
|
-
* children.
|
|
5
|
-
* @param {string} key - A string representing the key of the tree node.
|
|
6
|
-
* @param {V} [value] - The `value` parameter is an optional parameter of type `V`. It represents the
|
|
7
|
-
* value associated with the node. If no value is provided, it defaults to `undefined`.
|
|
8
|
-
* @param {TreeNode<V>[]} [children] - The `children` parameter is an optional array of `TreeNode<V>`
|
|
9
|
-
* objects. It represents the child nodes of the current node. If no children are provided, the
|
|
10
|
-
* default value is an empty array.
|
|
11
|
-
*/
|
|
12
|
-
constructor(key: string, value?: V, children?: TreeNode<V>[]);
|
|
13
|
-
protected _key: string;
|
|
14
|
-
/**
|
|
15
|
-
* The function returns the value of the protected variable _key.
|
|
16
|
-
* @returns The value of the `_key` property, which is a string.
|
|
17
|
-
*/
|
|
18
|
-
get key(): string;
|
|
19
|
-
/**
|
|
20
|
-
* The above function sets the value of a protected variable called "key".
|
|
21
|
-
* @param {string} value - The value parameter is a string that represents the value to be assigned
|
|
22
|
-
* to the key.
|
|
23
|
-
*/
|
|
24
|
-
set key(value: string);
|
|
25
|
-
protected _value?: V | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* The function returns the value stored in a variable, or undefined if the variable is empty.
|
|
28
|
-
* @returns The value of the variable `_value` is being returned.
|
|
29
|
-
*/
|
|
30
|
-
get value(): V | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* The function sets the value of a variable.
|
|
33
|
-
* @param {V | undefined} value - The parameter "value" is of type "V | undefined", which means it
|
|
34
|
-
* can accept a value of type "V" or it can be undefined.
|
|
35
|
-
*/
|
|
36
|
-
set value(value: V | undefined);
|
|
37
|
-
protected _children?: TreeNode<V>[] | undefined;
|
|
38
|
-
/**
|
|
39
|
-
* The function returns an array of TreeNode objects or undefined.
|
|
40
|
-
* @returns The `children` property is being returned. It is of type `TreeNode<V>[] | undefined`,
|
|
41
|
-
* which means it can either be an array of `TreeNode<V>` objects or `undefined`.
|
|
42
|
-
*/
|
|
43
|
-
get children(): TreeNode<V>[] | undefined;
|
|
44
|
-
/**
|
|
45
|
-
* The function sets the value of the children property of a TreeNode object.
|
|
46
|
-
* @param {TreeNode<V>[] | undefined} value - The value parameter is of type TreeNode<V>[] |
|
|
47
|
-
* undefined. This means that it can accept an array of TreeNode objects or undefined.
|
|
48
|
-
*/
|
|
49
|
-
set children(value: TreeNode<V>[] | undefined);
|
|
50
|
-
/**
|
|
51
|
-
* The function `addChildren` adds one or more child nodes to the current node.
|
|
52
|
-
* @param {TreeNode<V> | TreeNode<V>[]} children - The `children` parameter can be either a single
|
|
53
|
-
* `TreeNode<V>` object or an array of `TreeNode<V>` objects.
|
|
54
|
-
*/
|
|
55
|
-
addChildren(children: TreeNode<V> | TreeNode<V>[]): void;
|
|
56
|
-
/**
|
|
57
|
-
* The function `getHeight()` calculates the maximum depth of a tree structure by performing a
|
|
58
|
-
* breadth-first search.
|
|
59
|
-
* @returns the maximum depth or height of the tree.
|
|
60
|
-
*/
|
|
61
|
-
getHeight(): number;
|
|
62
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
export class TreeNode {
|
|
2
|
-
/**
|
|
3
|
-
* The constructor function initializes a TreeNode object with a key, optional value, and optional
|
|
4
|
-
* children.
|
|
5
|
-
* @param {string} key - A string representing the key of the tree node.
|
|
6
|
-
* @param {V} [value] - The `value` parameter is an optional parameter of type `V`. It represents the
|
|
7
|
-
* value associated with the node. If no value is provided, it defaults to `undefined`.
|
|
8
|
-
* @param {TreeNode<V>[]} [children] - The `children` parameter is an optional array of `TreeNode<V>`
|
|
9
|
-
* objects. It represents the child nodes of the current node. If no children are provided, the
|
|
10
|
-
* default value is an empty array.
|
|
11
|
-
*/
|
|
12
|
-
constructor(key, value, children) {
|
|
13
|
-
this._key = key;
|
|
14
|
-
this._value = value || undefined;
|
|
15
|
-
if (children)
|
|
16
|
-
this._children = children;
|
|
17
|
-
}
|
|
18
|
-
_key;
|
|
19
|
-
/**
|
|
20
|
-
* The function returns the value of the protected variable _key.
|
|
21
|
-
* @returns The value of the `_key` property, which is a string.
|
|
22
|
-
*/
|
|
23
|
-
get key() {
|
|
24
|
-
return this._key;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* The above function sets the value of a protected variable called "key".
|
|
28
|
-
* @param {string} value - The value parameter is a string that represents the value to be assigned
|
|
29
|
-
* to the key.
|
|
30
|
-
*/
|
|
31
|
-
set key(value) {
|
|
32
|
-
this._key = value;
|
|
33
|
-
}
|
|
34
|
-
_value;
|
|
35
|
-
/**
|
|
36
|
-
* The function returns the value stored in a variable, or undefined if the variable is empty.
|
|
37
|
-
* @returns The value of the variable `_value` is being returned.
|
|
38
|
-
*/
|
|
39
|
-
get value() {
|
|
40
|
-
return this._value;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* The function sets the value of a variable.
|
|
44
|
-
* @param {V | undefined} value - The parameter "value" is of type "V | undefined", which means it
|
|
45
|
-
* can accept a value of type "V" or it can be undefined.
|
|
46
|
-
*/
|
|
47
|
-
set value(value) {
|
|
48
|
-
this._value = value;
|
|
49
|
-
}
|
|
50
|
-
_children;
|
|
51
|
-
/**
|
|
52
|
-
* The function returns an array of TreeNode objects or undefined.
|
|
53
|
-
* @returns The `children` property is being returned. It is of type `TreeNode<V>[] | undefined`,
|
|
54
|
-
* which means it can either be an array of `TreeNode<V>` objects or `undefined`.
|
|
55
|
-
*/
|
|
56
|
-
get children() {
|
|
57
|
-
return this._children;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The function sets the value of the children property of a TreeNode object.
|
|
61
|
-
* @param {TreeNode<V>[] | undefined} value - The value parameter is of type TreeNode<V>[] |
|
|
62
|
-
* undefined. This means that it can accept an array of TreeNode objects or undefined.
|
|
63
|
-
*/
|
|
64
|
-
set children(value) {
|
|
65
|
-
this._children = value;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* The function `addChildren` adds one or more child nodes to the current node.
|
|
69
|
-
* @param {TreeNode<V> | TreeNode<V>[]} children - The `children` parameter can be either a single
|
|
70
|
-
* `TreeNode<V>` object or an array of `TreeNode<V>` objects.
|
|
71
|
-
*/
|
|
72
|
-
addChildren(children) {
|
|
73
|
-
if (!this._children) {
|
|
74
|
-
this._children = [];
|
|
75
|
-
}
|
|
76
|
-
if (children instanceof TreeNode) {
|
|
77
|
-
this._children.push(children);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this._children = this._children.concat(children);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* The function `getHeight()` calculates the maximum depth of a tree structure by performing a
|
|
85
|
-
* breadth-first search.
|
|
86
|
-
* @returns the maximum depth or height of the tree.
|
|
87
|
-
*/
|
|
88
|
-
getHeight() {
|
|
89
|
-
let maxDepth = 0;
|
|
90
|
-
if (this) {
|
|
91
|
-
const bfs = (node, level) => {
|
|
92
|
-
if (level > maxDepth) {
|
|
93
|
-
maxDepth = level;
|
|
94
|
-
}
|
|
95
|
-
const { _children } = node;
|
|
96
|
-
if (_children) {
|
|
97
|
-
for (let i = 0, len = _children.length; i < len; i++) {
|
|
98
|
-
bfs(_children[i], level + 1);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
bfs(this, 0);
|
|
103
|
-
}
|
|
104
|
-
return maxDepth;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/data-structures/tree/tree.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IACnB;;;;;;;;;OASG;IACH,YAAY,GAAW,EAAE,KAAS,EAAE,QAAwB;QAC1D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,SAAS,CAAC;QACjC,IAAI,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAES,IAAI,CAAS;IAEvB;;;OAGG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAES,MAAM,CAAiB;IAEjC;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAES,SAAS,CAA6B;IAEhD;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAgC;QAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAqC;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,YAAY,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE;gBAC/C,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;oBACrB,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;gBAC3B,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACf,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './trie';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data-structures/trie/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* data-structure-typed
|
|
3
|
-
*
|
|
4
|
-
* @author Pablo Zeng
|
|
5
|
-
* @copyright Copyright (c) 2022 Pablo Zeng <zrwusa@gmail.com>
|
|
6
|
-
* @license MIT License
|
|
7
|
-
*/
|
|
8
|
-
import type { ElementCallback, TrieOptions } from '../../types';
|
|
9
|
-
import { IterableElementBase } from '../base';
|
|
10
|
-
/**
|
|
11
|
-
* Node used by Trie to store one character and its children.
|
|
12
|
-
* @remarks Time O(1), Space O(1)
|
|
13
|
-
*/
|
|
14
|
-
export declare class TrieNode {
|
|
15
|
-
/**
|
|
16
|
-
* Create a Trie node with a character key.
|
|
17
|
-
* @remarks Time O(1), Space O(1)
|
|
18
|
-
* @returns New TrieNode instance.
|
|
19
|
-
*/
|
|
20
|
-
constructor(key: string);
|
|
21
|
-
protected _key: string;
|
|
22
|
-
/**
|
|
23
|
-
* Get the character key of this node.
|
|
24
|
-
* @remarks Time O(1), Space O(1)
|
|
25
|
-
* @returns Character key string.
|
|
26
|
-
*/
|
|
27
|
-
get key(): string;
|
|
28
|
-
/**
|
|
29
|
-
* Set the character key of this node.
|
|
30
|
-
* @remarks Time O(1), Space O(1)
|
|
31
|
-
* @param value - New character key.
|
|
32
|
-
* @returns void
|
|
33
|
-
*/
|
|
34
|
-
set key(value: string);
|
|
35
|
-
protected _children: Map<string, TrieNode>;
|
|
36
|
-
/**
|
|
37
|
-
* Get the child map of this node.
|
|
38
|
-
* @remarks Time O(1), Space O(1)
|
|
39
|
-
* @returns Map from character to child node.
|
|
40
|
-
*/
|
|
41
|
-
get children(): Map<string, TrieNode>;
|
|
42
|
-
/**
|
|
43
|
-
* Replace the child map of this node.
|
|
44
|
-
* @remarks Time O(1), Space O(1)
|
|
45
|
-
* @param value - New map of character → node.
|
|
46
|
-
* @returns void
|
|
47
|
-
*/
|
|
48
|
-
set children(value: Map<string, TrieNode>);
|
|
49
|
-
protected _isEnd: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Check whether this node marks the end of a word.
|
|
52
|
-
* @remarks Time O(1), Space O(1)
|
|
53
|
-
* @returns True if this node ends a word.
|
|
54
|
-
*/
|
|
55
|
-
get isEnd(): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Mark this node as the end of a word or not.
|
|
58
|
-
* @remarks Time O(1), Space O(1)
|
|
59
|
-
* @param value - Whether this node ends a word.
|
|
60
|
-
* @returns void
|
|
61
|
-
*/
|
|
62
|
-
set isEnd(value: boolean);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Prefix tree (Trie) for fast prefix queries and word storage.
|
|
66
|
-
* @remarks Time O(1), Space O(1)
|
|
67
|
-
* @template R
|
|
68
|
-
* 1. Node Structure: Each node in a Trie represents a string (or a part of a string). The root node typically represents an empty string.
|
|
69
|
-
* 2. Child Node Relationship: Each node's children represent the strings that can be formed by adding one character to the string at the current node. For example, if a node represents the string 'ca', one of its children might represent 'cat'.
|
|
70
|
-
* 3. Fast Retrieval: Trie allows retrieval in O(m) time complexity, where m is the length of the string to be searched.
|
|
71
|
-
* 4. Space Efficiency: Trie can store a large number of strings very space-efficiently, especially when these strings share common prefixes.
|
|
72
|
-
* 5. Autocomplete and Prediction: Trie can be used for implementing autocomplete and word prediction features, as it can quickly find all strings with a common prefix.
|
|
73
|
-
* 6. Sorting: Trie can be used to sort a set of strings in alphabetical order.
|
|
74
|
-
* 7. String Retrieval: For example, searching for a specific string in a large set of strings.
|
|
75
|
-
* 8. Autocomplete: Providing recommended words or phrases as a user types.
|
|
76
|
-
* 9. Spell Check: Checking the spelling of words.
|
|
77
|
-
* 10. IP Routing: Used in certain types of IP routing algorithms.
|
|
78
|
-
* 11. Text Word Frequency Count: Counting and storing the frequency of words in a large amount of text data.
|
|
79
|
-
* @example
|
|
80
|
-
* // Autocomplete: Prefix validation and checking
|
|
81
|
-
* const autocomplete = new Trie<string>(['gmail.com', 'gmail.co.nz', 'gmail.co.jp', 'yahoo.com', 'outlook.com']);
|
|
82
|
-
*
|
|
83
|
-
* // Get all completions for a prefix
|
|
84
|
-
* const gmailCompletions = autocomplete.getWords('gmail');
|
|
85
|
-
* console.log(gmailCompletions); // ['gmail.com', 'gmail.co.nz', 'gmail.co.jp']
|
|
86
|
-
* @example
|
|
87
|
-
* // File System Path Operations
|
|
88
|
-
* const fileSystem = new Trie<string>([
|
|
89
|
-
* '/home/user/documents/file1.txt',
|
|
90
|
-
* '/home/user/documents/file2.txt',
|
|
91
|
-
* '/home/user/pictures/photo.jpg',
|
|
92
|
-
* '/home/user/pictures/vacation/',
|
|
93
|
-
* '/home/user/downloads'
|
|
94
|
-
* ]);
|
|
95
|
-
*
|
|
96
|
-
* // Find common directory prefix
|
|
97
|
-
* console.log(fileSystem.getLongestCommonPrefix()); // '/home/user/'
|
|
98
|
-
*
|
|
99
|
-
* // List all files in a directory
|
|
100
|
-
* const documentsFiles = fileSystem.getWords('/home/user/documents/');
|
|
101
|
-
* console.log(documentsFiles); // ['/home/user/documents/file1.txt', '/home/user/documents/file2.txt']
|
|
102
|
-
* @example
|
|
103
|
-
* // Autocomplete: Basic word suggestions
|
|
104
|
-
* // Create a trie for autocomplete
|
|
105
|
-
* const autocomplete = new Trie<string>([
|
|
106
|
-
* 'function',
|
|
107
|
-
* 'functional',
|
|
108
|
-
* 'functions',
|
|
109
|
-
* 'class',
|
|
110
|
-
* 'classes',
|
|
111
|
-
* 'classical',
|
|
112
|
-
* 'closure',
|
|
113
|
-
* 'const',
|
|
114
|
-
* 'constructor'
|
|
115
|
-
* ]);
|
|
116
|
-
*
|
|
117
|
-
* // Test autocomplete with different prefixes
|
|
118
|
-
* console.log(autocomplete.getWords('fun')); // ['functional', 'functions', 'function']
|
|
119
|
-
* console.log(autocomplete.getWords('cla')); // ['classes', 'classical', 'class']
|
|
120
|
-
* console.log(autocomplete.getWords('con')); // ['constructor', 'const']
|
|
121
|
-
*
|
|
122
|
-
* // Test with non-matching prefix
|
|
123
|
-
* console.log(autocomplete.getWords('xyz')); // []
|
|
124
|
-
* @example
|
|
125
|
-
* // Dictionary: Case-insensitive word lookup
|
|
126
|
-
* // Create a case-insensitive dictionary
|
|
127
|
-
* const dictionary = new Trie<string>([], { caseSensitive: false });
|
|
128
|
-
*
|
|
129
|
-
* // Add words with mixed casing
|
|
130
|
-
* dictionary.add('Hello');
|
|
131
|
-
* dictionary.add('WORLD');
|
|
132
|
-
* dictionary.add('JavaScript');
|
|
133
|
-
*
|
|
134
|
-
* // Test lookups with different casings
|
|
135
|
-
* console.log(dictionary.has('hello')); // true
|
|
136
|
-
* console.log(dictionary.has('HELLO')); // true
|
|
137
|
-
* console.log(dictionary.has('Hello')); // true
|
|
138
|
-
* console.log(dictionary.has('javascript')); // true
|
|
139
|
-
* console.log(dictionary.has('JAVASCRIPT')); // true
|
|
140
|
-
* @example
|
|
141
|
-
* // IP Address Routing Table
|
|
142
|
-
* // Add IP address prefixes and their corresponding routes
|
|
143
|
-
* const routes = {
|
|
144
|
-
* '192.168.1': 'LAN_SUBNET_1',
|
|
145
|
-
* '192.168.2': 'LAN_SUBNET_2',
|
|
146
|
-
* '10.0.0': 'PRIVATE_NETWORK_1',
|
|
147
|
-
* '10.0.1': 'PRIVATE_NETWORK_2'
|
|
148
|
-
* };
|
|
149
|
-
*
|
|
150
|
-
* const ipRoutingTable = new Trie<string>(Object.keys(routes));
|
|
151
|
-
*
|
|
152
|
-
* // Check IP address prefix matching
|
|
153
|
-
* console.log(ipRoutingTable.hasPrefix('192.168.1')); // true
|
|
154
|
-
* console.log(ipRoutingTable.hasPrefix('192.168.2')); // true
|
|
155
|
-
*
|
|
156
|
-
* // Validate IP address belongs to subnet
|
|
157
|
-
* const ip = '192.168.1.100';
|
|
158
|
-
* const subnet = ip.split('.').slice(0, 3).join('.');
|
|
159
|
-
* console.log(ipRoutingTable.hasPrefix(subnet)); // true
|
|
160
|
-
*/
|
|
161
|
-
export declare class Trie<R = any> extends IterableElementBase<string, R> {
|
|
162
|
-
/**
|
|
163
|
-
* Create a Trie and optionally bulk-insert words.
|
|
164
|
-
* @remarks Time O(totalChars), Space O(totalChars)
|
|
165
|
-
* @param [words] - Iterable of strings (or raw records if toElementFn is provided).
|
|
166
|
-
* @param [options] - Options such as toElementFn and caseSensitive.
|
|
167
|
-
* @returns New Trie instance.
|
|
168
|
-
*/
|
|
169
|
-
constructor(words?: Iterable<string> | Iterable<R>, options?: TrieOptions<R>);
|
|
170
|
-
protected _size: number;
|
|
171
|
-
/**
|
|
172
|
-
* Get the number of stored words.
|
|
173
|
-
* @remarks Time O(1), Space O(1)
|
|
174
|
-
* @returns Word count.
|
|
175
|
-
*/
|
|
176
|
-
get size(): number;
|
|
177
|
-
protected _caseSensitive: boolean;
|
|
178
|
-
/**
|
|
179
|
-
* Get whether comparisons are case-sensitive.
|
|
180
|
-
* @remarks Time O(1), Space O(1)
|
|
181
|
-
* @returns True if case-sensitive.
|
|
182
|
-
*/
|
|
183
|
-
get caseSensitive(): boolean;
|
|
184
|
-
protected _root: TrieNode;
|
|
185
|
-
/**
|
|
186
|
-
* Get the root node.
|
|
187
|
-
* @remarks Time O(1), Space O(1)
|
|
188
|
-
* @returns Root TrieNode.
|
|
189
|
-
*/
|
|
190
|
-
get root(): TrieNode;
|
|
191
|
-
/**
|
|
192
|
-
* (Protected) Get total count for base class iteration.
|
|
193
|
-
* @remarks Time O(1), Space O(1)
|
|
194
|
-
* @returns Total number of elements.
|
|
195
|
-
*/
|
|
196
|
-
protected get _total(): number;
|
|
197
|
-
/**
|
|
198
|
-
* Insert one word into the trie.
|
|
199
|
-
* @remarks Time O(L), Space O(L)
|
|
200
|
-
* @param word - Word to insert.
|
|
201
|
-
* @returns True if the word was newly added.
|
|
202
|
-
*/
|
|
203
|
-
add(word: string): boolean;
|
|
204
|
-
/**
|
|
205
|
-
* Insert many words from an iterable.
|
|
206
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
207
|
-
* @param words - Iterable of strings (or raw records if toElementFn is provided).
|
|
208
|
-
* @returns Array of per-word 'added' flags.
|
|
209
|
-
*/
|
|
210
|
-
addMany(words: Iterable<string> | Iterable<R>): boolean[];
|
|
211
|
-
/**
|
|
212
|
-
* Check whether a word exists.
|
|
213
|
-
* @remarks Time O(L), Space O(1)
|
|
214
|
-
* @param word - Word to search for.
|
|
215
|
-
* @returns True if present.
|
|
216
|
-
*/
|
|
217
|
-
has(word: string): boolean;
|
|
218
|
-
/**
|
|
219
|
-
* Check whether the trie is empty.
|
|
220
|
-
* @remarks Time O(1), Space O(1)
|
|
221
|
-
* @returns True if size is 0.
|
|
222
|
-
*/
|
|
223
|
-
isEmpty(): boolean;
|
|
224
|
-
/**
|
|
225
|
-
* Remove all words and reset to a fresh root.
|
|
226
|
-
* @remarks Time O(1), Space O(1)
|
|
227
|
-
* @returns void
|
|
228
|
-
*/
|
|
229
|
-
clear(): void;
|
|
230
|
-
/**
|
|
231
|
-
* Delete one word if present.
|
|
232
|
-
* @remarks Time O(L), Space O(1)
|
|
233
|
-
* @param word - Word to delete.
|
|
234
|
-
* @returns True if a word was removed.
|
|
235
|
-
*/
|
|
236
|
-
delete(word: string): boolean;
|
|
237
|
-
/**
|
|
238
|
-
* Compute the height (max depth) of the trie.
|
|
239
|
-
* @remarks Time O(N), Space O(H)
|
|
240
|
-
* @returns Maximum depth from root to a leaf.
|
|
241
|
-
*/
|
|
242
|
-
getHeight(): number;
|
|
243
|
-
/**
|
|
244
|
-
* Check whether input is a proper prefix of at least one word.
|
|
245
|
-
* @remarks Time O(L), Space O(1)
|
|
246
|
-
* @param input - String to test as prefix.
|
|
247
|
-
* @returns True if input is a prefix but not a full word.
|
|
248
|
-
*/
|
|
249
|
-
hasPurePrefix(input: string): boolean;
|
|
250
|
-
/**
|
|
251
|
-
* Check whether any word starts with input.
|
|
252
|
-
* @remarks Time O(L), Space O(1)
|
|
253
|
-
* @param input - String to test as prefix.
|
|
254
|
-
* @returns True if input matches a path from root.
|
|
255
|
-
*/
|
|
256
|
-
hasPrefix(input: string): boolean;
|
|
257
|
-
/**
|
|
258
|
-
* Check whether the trie’s longest common prefix equals input.
|
|
259
|
-
* @remarks Time O(min(H,L)), Space O(1)
|
|
260
|
-
* @param input - Candidate longest common prefix.
|
|
261
|
-
* @returns True if input equals the common prefix.
|
|
262
|
-
*/
|
|
263
|
-
hasCommonPrefix(input: string): boolean;
|
|
264
|
-
/**
|
|
265
|
-
* Return the longest common prefix among all words.
|
|
266
|
-
* @remarks Time O(H), Space O(1)
|
|
267
|
-
* @returns The longest common prefix string.
|
|
268
|
-
*/
|
|
269
|
-
getLongestCommonPrefix(): string;
|
|
270
|
-
/**
|
|
271
|
-
* Collect words under a prefix up to a maximum count.
|
|
272
|
-
* @remarks Time O(K·L), Space O(K·L)
|
|
273
|
-
* @param [prefix] - Prefix to match; default empty string for root.
|
|
274
|
-
* @param [max] - Maximum number of words to return; default is Number.MAX_SAFE_INTEGER.
|
|
275
|
-
* @param [isAllWhenEmptyPrefix] - When true, collect from root even if prefix is empty.
|
|
276
|
-
* @returns Array of collected words (at most max).
|
|
277
|
-
*/
|
|
278
|
-
getWords(prefix?: string, max?: number, isAllWhenEmptyPrefix?: boolean): string[];
|
|
279
|
-
/**
|
|
280
|
-
* Deep clone this trie by iterating and inserting all words.
|
|
281
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
282
|
-
* @returns A new trie with the same words and options.
|
|
283
|
-
*/
|
|
284
|
-
clone(): this;
|
|
285
|
-
/**
|
|
286
|
-
* Filter words into a new trie of the same class.
|
|
287
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
288
|
-
* @param predicate - Predicate (word, index, trie) → boolean to keep word.
|
|
289
|
-
* @param [thisArg] - Value for `this` inside the predicate.
|
|
290
|
-
* @returns A new trie containing words that satisfy the predicate.
|
|
291
|
-
*/
|
|
292
|
-
filter(predicate: ElementCallback<string, R, boolean>, thisArg?: any): this;
|
|
293
|
-
map<RM>(callback: ElementCallback<string, R, string>, options?: TrieOptions<RM>, thisArg?: any): Trie<RM>;
|
|
294
|
-
/**
|
|
295
|
-
* Map words into a new trie (possibly different record type).
|
|
296
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
297
|
-
* @template EM
|
|
298
|
-
* @template RM
|
|
299
|
-
* @param callback - Mapping function (word, index, trie) → newWord (string).
|
|
300
|
-
* @param [options] - Options for the output trie (e.g., toElementFn, caseSensitive).
|
|
301
|
-
* @param [thisArg] - Value for `this` inside the callback.
|
|
302
|
-
* @returns A new Trie constructed from mapped words.
|
|
303
|
-
*/
|
|
304
|
-
map<EM, RM>(callback: ElementCallback<string, R, EM>, options?: TrieOptions<RM>, thisArg?: any): IterableElementBase<EM, RM>;
|
|
305
|
-
/**
|
|
306
|
-
* Map words into a new trie of the same element type.
|
|
307
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
308
|
-
* @param callback - Mapping function (word, index, trie) → string.
|
|
309
|
-
* @param [thisArg] - Value for `this` inside the callback.
|
|
310
|
-
* @returns A new trie with mapped words.
|
|
311
|
-
*/
|
|
312
|
-
mapSame(callback: ElementCallback<string, R, string>, thisArg?: any): this;
|
|
313
|
-
/**
|
|
314
|
-
* (Protected) Create an empty instance of the same concrete class.
|
|
315
|
-
* @remarks Time O(1), Space O(1)
|
|
316
|
-
* @param [options] - Options forwarded to the constructor.
|
|
317
|
-
* @returns An empty like-kind trie instance.
|
|
318
|
-
*/
|
|
319
|
-
protected _createInstance(options?: TrieOptions<R>): this;
|
|
320
|
-
/**
|
|
321
|
-
* (Protected) Create a like-kind trie and seed it from an iterable.
|
|
322
|
-
* @remarks Time O(ΣL), Space O(ΣL)
|
|
323
|
-
* @template RM
|
|
324
|
-
* @param [elements] - Iterable used to seed the new trie.
|
|
325
|
-
* @param [options] - Options forwarded to the constructor.
|
|
326
|
-
* @returns A like-kind Trie instance.
|
|
327
|
-
*/
|
|
328
|
-
protected _createLike<RM>(elements?: Iterable<string> | Iterable<RM>, options?: TrieOptions<RM>): Trie<RM>;
|
|
329
|
-
/**
|
|
330
|
-
* (Protected) Spawn an empty like-kind trie instance.
|
|
331
|
-
* @remarks Time O(1), Space O(1)
|
|
332
|
-
* @template RM
|
|
333
|
-
* @param [options] - Options forwarded to the constructor.
|
|
334
|
-
* @returns An empty like-kind Trie instance.
|
|
335
|
-
*/
|
|
336
|
-
protected _spawnLike<RM>(options?: TrieOptions<RM>): Trie<RM>;
|
|
337
|
-
/**
|
|
338
|
-
* (Protected) Iterate all words in lexicographic order of edges.
|
|
339
|
-
* @remarks Time O(ΣL), Space O(H)
|
|
340
|
-
* @returns Iterator of words.
|
|
341
|
-
*/
|
|
342
|
-
protected _getIterator(): IterableIterator<string>;
|
|
343
|
-
/**
|
|
344
|
-
* (Protected) Normalize a string according to case sensitivity.
|
|
345
|
-
* @remarks Time O(L), Space O(L)
|
|
346
|
-
* @param str - Input string to normalize.
|
|
347
|
-
* @returns Normalized string based on caseSensitive.
|
|
348
|
-
*/
|
|
349
|
-
protected _caseProcess(str: string): string;
|
|
350
|
-
}
|