data-structure-typed 1.41.5 → 1.41.7
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 +1 -1
- package/README.md +15 -535
- package/benchmark/report.html +14 -12
- package/benchmark/report.json +113 -113
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/avl-tree.d.ts +1 -1
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/avl-tree.js +2 -2
- package/dist/cjs/src/data-structures/binary-tree/avl-tree.js.map +1 -0
- package/dist/cjs/src/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-tree.d.ts +4 -3
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-tree.js +19 -18
- package/dist/cjs/src/data-structures/binary-tree/binary-tree.js.map +1 -0
- package/dist/{mjs → cjs/src}/data-structures/binary-tree/bst.d.ts +1 -20
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/bst.js +5 -27
- package/dist/cjs/src/data-structures/binary-tree/bst.js.map +1 -0
- package/dist/cjs/src/data-structures/binary-tree/index.js.map +1 -0
- package/dist/cjs/src/data-structures/binary-tree/rb-tree.js.map +1 -0
- package/dist/cjs/src/data-structures/binary-tree/segment-tree.js.map +1 -0
- package/dist/{mjs → cjs/src}/data-structures/binary-tree/tree-multiset.d.ts +1 -1
- package/dist/cjs/{data-structures → src/data-structures}/binary-tree/tree-multiset.js +2 -2
- package/dist/cjs/src/data-structures/binary-tree/tree-multiset.js.map +1 -0
- package/dist/cjs/{data-structures → src/data-structures}/graph/abstract-graph.js +5 -5
- package/dist/cjs/src/data-structures/graph/abstract-graph.js.map +1 -0
- package/dist/cjs/src/data-structures/graph/directed-graph.js.map +1 -0
- package/dist/cjs/src/data-structures/graph/index.js.map +1 -0
- package/dist/cjs/src/data-structures/graph/map-graph.js.map +1 -0
- package/dist/cjs/src/data-structures/graph/undirected-graph.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/coordinate-map.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/coordinate-set.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/hash-map.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/hash-table.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/index.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/tree-map.js.map +1 -0
- package/dist/cjs/src/data-structures/hash/tree-set.js.map +1 -0
- package/dist/cjs/src/data-structures/heap/heap.js.map +1 -0
- package/dist/cjs/src/data-structures/heap/index.js.map +1 -0
- package/dist/cjs/src/data-structures/heap/max-heap.js.map +1 -0
- package/dist/cjs/src/data-structures/heap/min-heap.js.map +1 -0
- package/dist/cjs/src/data-structures/index.js.map +1 -0
- package/dist/cjs/src/data-structures/linked-list/doubly-linked-list.js.map +1 -0
- package/dist/cjs/src/data-structures/linked-list/index.js.map +1 -0
- package/dist/cjs/src/data-structures/linked-list/singly-linked-list.js.map +1 -0
- package/dist/cjs/src/data-structures/linked-list/skip-linked-list.js.map +1 -0
- package/dist/cjs/src/data-structures/matrix/index.js.map +1 -0
- package/dist/cjs/src/data-structures/matrix/matrix.js.map +1 -0
- package/dist/cjs/src/data-structures/matrix/matrix2d.js.map +1 -0
- package/dist/cjs/src/data-structures/matrix/navigator.js.map +1 -0
- package/dist/cjs/src/data-structures/matrix/vector2d.js.map +1 -0
- package/dist/cjs/src/data-structures/priority-queue/index.js.map +1 -0
- package/dist/cjs/src/data-structures/priority-queue/max-priority-queue.js.map +1 -0
- package/dist/cjs/src/data-structures/priority-queue/min-priority-queue.js.map +1 -0
- package/dist/cjs/src/data-structures/priority-queue/priority-queue.js.map +1 -0
- package/dist/cjs/src/data-structures/queue/deque.js.map +1 -0
- package/dist/cjs/src/data-structures/queue/index.js.map +1 -0
- package/dist/cjs/src/data-structures/queue/queue.js.map +1 -0
- package/dist/cjs/src/data-structures/stack/index.js.map +1 -0
- package/dist/cjs/src/data-structures/stack/stack.js.map +1 -0
- package/dist/cjs/src/data-structures/tree/index.js.map +1 -0
- package/dist/cjs/src/data-structures/tree/tree.js.map +1 -0
- package/dist/cjs/src/data-structures/trie/index.js.map +1 -0
- package/dist/cjs/src/data-structures/trie/trie.js.map +1 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/interfaces/binary-tree.js.map +1 -0
- package/dist/cjs/src/interfaces/doubly-linked-list.js.map +1 -0
- package/dist/cjs/{interfaces → src/interfaces}/graph.js.map +1 -1
- package/dist/cjs/{interfaces → src/interfaces}/heap.js.map +1 -1
- package/dist/cjs/src/interfaces/index.js.map +1 -0
- package/dist/cjs/src/interfaces/navigator.js.map +1 -0
- package/dist/cjs/src/interfaces/priority-queue.js.map +1 -0
- package/dist/cjs/src/interfaces/segment-tree.js.map +1 -0
- package/dist/cjs/src/interfaces/singly-linked-list.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/avl-tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/binary-tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/bst.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/rb-tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/segment-tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/binary-tree/tree-multiset.js.map +1 -0
- package/dist/cjs/src/types/data-structures/graph/abstract-graph.js.map +1 -0
- package/dist/cjs/src/types/data-structures/graph/directed-graph.js.map +1 -0
- package/dist/cjs/src/types/data-structures/graph/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/graph/map-graph.js.map +1 -0
- package/dist/cjs/src/types/data-structures/graph/undirected-graph.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/coordinate-map.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/coordinate-set.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/hash-map.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/hash-table.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/tree-map.js.map +1 -0
- package/dist/cjs/src/types/data-structures/hash/tree-set.js.map +1 -0
- package/dist/cjs/src/types/data-structures/heap/heap.js.map +1 -0
- package/dist/cjs/src/types/data-structures/heap/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/heap/max-heap.js.map +1 -0
- package/dist/cjs/src/types/data-structures/heap/min-heap.js.map +1 -0
- package/dist/cjs/src/types/data-structures/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/linked-list/doubly-linked-list.js.map +1 -0
- package/dist/cjs/src/types/data-structures/linked-list/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/linked-list/singly-linked-list.js.map +1 -0
- package/dist/cjs/src/types/data-structures/linked-list/skip-linked-list.js.map +1 -0
- package/dist/cjs/src/types/data-structures/matrix/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/matrix/matrix.js.map +1 -0
- package/dist/cjs/src/types/data-structures/matrix/matrix2d.js.map +1 -0
- package/dist/cjs/src/types/data-structures/matrix/navigator.js.map +1 -0
- package/dist/cjs/src/types/data-structures/matrix/vector2d.js.map +1 -0
- package/dist/cjs/src/types/data-structures/priority-queue/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/priority-queue/max-priority-queue.js.map +1 -0
- package/dist/cjs/src/types/data-structures/priority-queue/min-priority-queue.js.map +1 -0
- package/dist/cjs/src/types/data-structures/priority-queue/priority-queue.js.map +1 -0
- package/dist/cjs/src/types/data-structures/queue/deque.js.map +1 -0
- package/dist/cjs/src/types/data-structures/queue/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/queue/queue.js.map +1 -0
- package/dist/cjs/src/types/data-structures/stack/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/stack/stack.js.map +1 -0
- package/dist/cjs/src/types/data-structures/tree/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/tree/tree.js.map +1 -0
- package/dist/cjs/src/types/data-structures/trie/index.js.map +1 -0
- package/dist/cjs/src/types/data-structures/trie/trie.js.map +1 -0
- package/dist/cjs/src/types/helpers.js.map +1 -0
- package/dist/cjs/src/types/index.js.map +1 -0
- package/dist/cjs/src/types/utils/index.js.map +1 -0
- package/dist/cjs/{types → src/types}/utils/utils.js.map +1 -1
- package/dist/cjs/src/types/utils/validate-type.js.map +1 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/cjs/src/utils/utils.js.map +1 -0
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/avl-tree.d.ts +1 -1
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/avl-tree.js +2 -2
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-tree.d.ts +4 -3
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-tree.js +19 -18
- package/dist/{cjs → mjs/src}/data-structures/binary-tree/bst.d.ts +1 -20
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/bst.js +5 -26
- package/dist/{cjs → mjs/src}/data-structures/binary-tree/tree-multiset.d.ts +1 -1
- package/dist/mjs/{data-structures → src/data-structures}/binary-tree/tree-multiset.js +2 -2
- package/dist/mjs/{data-structures → src/data-structures}/graph/abstract-graph.js +5 -5
- package/dist/umd/data-structure-typed.min.js +1 -1
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +12 -12
- package/src/data-structures/binary-tree/avl-tree.ts +2 -2
- package/src/data-structures/binary-tree/binary-tree.ts +20 -18
- package/src/data-structures/binary-tree/bst.ts +6 -33
- package/src/data-structures/binary-tree/tree-multiset.ts +2 -2
- package/src/data-structures/graph/abstract-graph.ts +6 -6
- package/test/performance/reportor.ts +23 -20
- package/test/unit/data-structures/graph/salty-edges.json +1 -0
- package/test/unit/data-structures/graph/salty-vertexes.json +1 -0
- package/test/unit/data-structures/graph/undirected-graph.test.ts +19 -0
- package/tsconfig-base.json +20 -24
- package/tsconfig-cjs.json +5 -1
- package/tsconfig-mjs.json +12 -0
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/index.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +0 -1
- package/dist/cjs/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/index.js.map +0 -1
- package/dist/cjs/data-structures/graph/map-graph.js.map +0 -1
- package/dist/cjs/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/cjs/data-structures/hash/coordinate-map.js.map +0 -1
- package/dist/cjs/data-structures/hash/coordinate-set.js.map +0 -1
- package/dist/cjs/data-structures/hash/hash-map.js.map +0 -1
- package/dist/cjs/data-structures/hash/hash-table.js.map +0 -1
- package/dist/cjs/data-structures/hash/index.js.map +0 -1
- package/dist/cjs/data-structures/hash/tree-map.js.map +0 -1
- package/dist/cjs/data-structures/hash/tree-set.js.map +0 -1
- package/dist/cjs/data-structures/heap/heap.js.map +0 -1
- package/dist/cjs/data-structures/heap/index.js.map +0 -1
- package/dist/cjs/data-structures/heap/max-heap.js.map +0 -1
- package/dist/cjs/data-structures/heap/min-heap.js.map +0 -1
- package/dist/cjs/data-structures/index.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +0 -1
- package/dist/cjs/data-structures/linked-list/index.js.map +0 -1
- 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.map +0 -1
- package/dist/cjs/data-structures/matrix/index.js.map +0 -1
- package/dist/cjs/data-structures/matrix/matrix.js.map +0 -1
- package/dist/cjs/data-structures/matrix/matrix2d.js.map +0 -1
- package/dist/cjs/data-structures/matrix/navigator.js.map +0 -1
- package/dist/cjs/data-structures/matrix/vector2d.js.map +0 -1
- package/dist/cjs/data-structures/priority-queue/index.js.map +0 -1
- 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.map +0 -1
- package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +0 -1
- package/dist/cjs/data-structures/queue/deque.js.map +0 -1
- package/dist/cjs/data-structures/queue/index.js.map +0 -1
- package/dist/cjs/data-structures/queue/queue.js.map +0 -1
- package/dist/cjs/data-structures/stack/index.js.map +0 -1
- package/dist/cjs/data-structures/stack/stack.js.map +0 -1
- package/dist/cjs/data-structures/tree/index.js.map +0 -1
- package/dist/cjs/data-structures/tree/tree.js.map +0 -1
- package/dist/cjs/data-structures/trie/index.js.map +0 -1
- package/dist/cjs/data-structures/trie/trie.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/interfaces/binary-tree.js.map +0 -1
- package/dist/cjs/interfaces/doubly-linked-list.js.map +0 -1
- package/dist/cjs/interfaces/index.js.map +0 -1
- package/dist/cjs/interfaces/navigator.js.map +0 -1
- package/dist/cjs/interfaces/priority-queue.js.map +0 -1
- package/dist/cjs/interfaces/segment-tree.js.map +0 -1
- package/dist/cjs/interfaces/singly-linked-list.js.map +0 -1
- 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.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/bst.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/index.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +0 -1
- package/dist/cjs/types/data-structures/binary-tree/tree-multiset.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/directed-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/index.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/map-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/coordinate-map.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/coordinate-set.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/hash-map.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/hash-table.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/index.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/tree-map.js.map +0 -1
- package/dist/cjs/types/data-structures/hash/tree-set.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/heap.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/index.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/max-heap.js.map +0 -1
- package/dist/cjs/types/data-structures/heap/min-heap.js.map +0 -1
- package/dist/cjs/types/data-structures/index.js.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- package/dist/cjs/types/data-structures/matrix/index.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/matrix.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/matrix2d.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/navigator.js.map +0 -1
- package/dist/cjs/types/data-structures/matrix/vector2d.js.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- package/dist/cjs/types/data-structures/queue/deque.js.map +0 -1
- package/dist/cjs/types/data-structures/queue/index.js.map +0 -1
- package/dist/cjs/types/data-structures/queue/queue.js.map +0 -1
- package/dist/cjs/types/data-structures/stack/index.js.map +0 -1
- package/dist/cjs/types/data-structures/stack/stack.js.map +0 -1
- package/dist/cjs/types/data-structures/tree/index.js.map +0 -1
- package/dist/cjs/types/data-structures/tree/tree.js.map +0 -1
- package/dist/cjs/types/data-structures/trie/index.js.map +0 -1
- package/dist/cjs/types/data-structures/trie/trie.js.map +0 -1
- package/dist/cjs/types/helpers.js.map +0 -1
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/utils/index.js.map +0 -1
- package/dist/cjs/types/utils/validate-type.js.map +0 -1
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/utils.js.map +0 -1
- package/umd/bundle.min.js +0 -3
- package/umd/bundle.min.js.LICENSE.txt +0 -28
- package/umd/bundle.min.js.map +0 -1
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/rb-tree.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/rb-tree.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/segment-tree.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/abstract-graph.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/directed-graph.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/directed-graph.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/map-graph.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/map-graph.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/undirected-graph.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/graph/undirected-graph.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-map.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-map.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-set.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-set.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-map.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-map.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-table.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-table.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-map.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-map.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-set.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-set.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/heap.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/heap.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/max-heap.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/max-heap.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/min-heap.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/heap/min-heap.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix2d.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix2d.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/navigator.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/navigator.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/vector2d.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/matrix/vector2d.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/priority-queue.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/deque.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/deque.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/queue.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/queue/queue.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/stack/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/stack/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/stack/stack.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/stack/stack.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/tree/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/tree/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/tree/tree.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/tree/tree.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/trie/index.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/trie/index.js +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/trie/trie.d.ts +0 -0
- /package/dist/cjs/{data-structures → src/data-structures}/trie/trie.js +0 -0
- /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/cjs/{index.js → src/index.js} +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/binary-tree.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/binary-tree.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/doubly-linked-list.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/doubly-linked-list.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/graph.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/graph.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/heap.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/heap.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/index.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/index.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/navigator.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/navigator.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/priority-queue.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/priority-queue.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/segment-tree.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/segment-tree.js +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/singly-linked-list.d.ts +0 -0
- /package/dist/cjs/{interfaces → src/interfaces}/singly-linked-list.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/avl-tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/avl-tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/bst.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/bst.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/rb-tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/rb-tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/segment-tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/tree-multiset.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/binary-tree/tree-multiset.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/abstract-graph.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/abstract-graph.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/directed-graph.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/directed-graph.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/map-graph.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/map-graph.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/undirected-graph.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/graph/undirected-graph.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-map.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-map.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-set.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-set.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/hash-map.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/hash-map.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/hash-table.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/hash-table.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/tree-map.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/tree-map.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/tree-set.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/hash/tree-set.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/heap.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/heap.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/max-heap.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/max-heap.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/min-heap.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/heap/min-heap.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/singly-linked-list.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/linked-list/skip-linked-list.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix2d.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix2d.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/navigator.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/navigator.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/vector2d.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/matrix/vector2d.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/priority-queue/priority-queue.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/deque.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/deque.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/queue.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/queue/queue.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/stack/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/stack/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/stack/stack.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/stack/stack.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/tree/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/tree/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/tree/tree.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/tree/tree.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/trie/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/trie/index.js +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/trie/trie.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/data-structures/trie/trie.js +0 -0
- /package/dist/cjs/{types → src/types}/helpers.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/helpers.js +0 -0
- /package/dist/cjs/{types → src/types}/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/index.js +0 -0
- /package/dist/cjs/{types → src/types}/utils/index.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/utils/index.js +0 -0
- /package/dist/cjs/{types → src/types}/utils/utils.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/utils/utils.js +0 -0
- /package/dist/cjs/{types → src/types}/utils/validate-type.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/utils/validate-type.js +0 -0
- /package/dist/cjs/{utils → src/utils}/index.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/index.js +0 -0
- /package/dist/cjs/{utils → src/utils}/utils.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/utils.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/rb-tree.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/rb-tree.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/segment-tree.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/abstract-graph.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/directed-graph.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/directed-graph.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/map-graph.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/map-graph.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/undirected-graph.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/graph/undirected-graph.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-map.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-map.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-set.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-set.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-map.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-map.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-table.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-table.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-map.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-map.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-set.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-set.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/heap.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/heap.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/max-heap.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/max-heap.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/min-heap.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/heap/min-heap.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix2d.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix2d.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/navigator.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/navigator.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/vector2d.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/matrix/vector2d.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/priority-queue.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/deque.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/deque.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/queue.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/queue/queue.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/stack/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/stack/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/stack/stack.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/stack/stack.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/tree/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/tree/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/tree/tree.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/tree/tree.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/trie/index.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/trie/index.js +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/trie/trie.d.ts +0 -0
- /package/dist/mjs/{data-structures → src/data-structures}/trie/trie.js +0 -0
- /package/dist/mjs/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/mjs/{index.js → src/index.js} +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/binary-tree.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/binary-tree.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/doubly-linked-list.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/doubly-linked-list.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/graph.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/graph.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/heap.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/heap.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/index.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/index.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/navigator.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/navigator.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/priority-queue.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/priority-queue.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/segment-tree.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/segment-tree.js +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/singly-linked-list.d.ts +0 -0
- /package/dist/mjs/{interfaces → src/interfaces}/singly-linked-list.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/avl-tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/avl-tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/bst.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/bst.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/rb-tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/rb-tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/segment-tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/tree-multiset.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/binary-tree/tree-multiset.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/abstract-graph.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/abstract-graph.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/directed-graph.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/directed-graph.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/map-graph.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/map-graph.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/undirected-graph.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/graph/undirected-graph.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-map.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-map.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-set.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-set.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/hash-map.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/hash-map.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/hash-table.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/hash-table.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/tree-map.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/tree-map.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/tree-set.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/hash/tree-set.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/heap.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/heap.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/max-heap.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/max-heap.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/min-heap.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/heap/min-heap.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/singly-linked-list.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/linked-list/skip-linked-list.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix2d.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix2d.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/navigator.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/navigator.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/vector2d.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/matrix/vector2d.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/priority-queue/priority-queue.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/deque.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/deque.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/queue.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/queue/queue.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/stack/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/stack/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/stack/stack.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/stack/stack.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/tree/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/tree/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/tree/tree.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/tree/tree.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/trie/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/trie/index.js +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/trie/trie.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/data-structures/trie/trie.js +0 -0
- /package/dist/mjs/{types → src/types}/helpers.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/helpers.js +0 -0
- /package/dist/mjs/{types → src/types}/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/index.js +0 -0
- /package/dist/mjs/{types → src/types}/utils/index.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/utils/index.js +0 -0
- /package/dist/mjs/{types → src/types}/utils/utils.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/utils/utils.js +0 -0
- /package/dist/mjs/{types → src/types}/utils/validate-type.d.ts +0 -0
- /package/dist/mjs/{types → src/types}/utils/validate-type.js +0 -0
- /package/dist/mjs/{utils → src/utils}/index.d.ts +0 -0
- /package/dist/mjs/{utils → src/utils}/index.js +0 -0
- /package/dist/mjs/{utils → src/utils}/utils.d.ts +0 -0
- /package/dist/mjs/{utils → src/utils}/utils.js +0 -0
|
@@ -79,6 +79,7 @@ export declare class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = Binary
|
|
|
79
79
|
* Get the number of nodes in the binary tree.
|
|
80
80
|
*/
|
|
81
81
|
get size(): number;
|
|
82
|
+
protected defaultOneParamCallback: (node: N) => number;
|
|
82
83
|
/**
|
|
83
84
|
* Creates a new instance of BinaryTreeNode with the given key and value.
|
|
84
85
|
* @param {BTNKey} key - The key for the new node.
|
|
@@ -257,7 +258,7 @@ export declare class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = Binary
|
|
|
257
258
|
* function on each node according to a specified order pattern.
|
|
258
259
|
* @param callback - The `callback` parameter is a function that will be called on each node during
|
|
259
260
|
* the depth-first search traversal. It takes a node as input and returns a value. The default value
|
|
260
|
-
* is `
|
|
261
|
+
* is `this.defaultOneParamCallback`, which is a callback function defined elsewhere in the code.
|
|
261
262
|
* @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter determines the order in which the
|
|
262
263
|
* nodes are visited during the depth-first search. There are three possible values for `pattern`:
|
|
263
264
|
* @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the depth-first
|
|
@@ -273,7 +274,7 @@ export declare class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = Binary
|
|
|
273
274
|
* function on each node.
|
|
274
275
|
* @param callback - The `callback` parameter is a function that will be called for each node in the
|
|
275
276
|
* breadth-first search. It takes a node of type `N` as its argument and returns a value of type
|
|
276
|
-
* `ReturnType<BTNCallback<N>>`. The default value for this parameter is `
|
|
277
|
+
* `ReturnType<BTNCallback<N>>`. The default value for this parameter is `this.defaultOneParamCallback
|
|
277
278
|
* @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the breadth-first
|
|
278
279
|
* search. It determines from which node the search will begin. If `beginRoot` is `null`, the search
|
|
279
280
|
* will not be performed and an empty array will be returned.
|
|
@@ -317,7 +318,7 @@ export declare class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = Binary
|
|
|
317
318
|
* algorithm and returns an array of values obtained by applying a callback function to each node.
|
|
318
319
|
* @param callback - The `callback` parameter is a function that will be called on each node in the
|
|
319
320
|
* tree. It takes a node of type `N` as input and returns a value of type `ReturnType<BTNCallback<N>>`. The
|
|
320
|
-
* default value for this parameter is `
|
|
321
|
+
* default value for this parameter is `this.defaultOneParamCallback`.
|
|
321
322
|
* @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter in the `morris` function
|
|
322
323
|
* determines the order in which the nodes of a binary tree are traversed. It can have one of the
|
|
323
324
|
* following values:
|
|
@@ -90,6 +90,7 @@ class BinaryTree {
|
|
|
90
90
|
this.iterationType = types_1.IterationType.ITERATIVE;
|
|
91
91
|
this._root = null;
|
|
92
92
|
this._size = 0;
|
|
93
|
+
this.defaultOneParamCallback = (node) => node.key;
|
|
93
94
|
if (options !== undefined) {
|
|
94
95
|
const { iterationType = types_1.IterationType.ITERATIVE } = options;
|
|
95
96
|
this.iterationType = iterationType;
|
|
@@ -242,9 +243,9 @@ class BinaryTree {
|
|
|
242
243
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
243
244
|
* value. This value is compared with the `identifier` parameter to determine if the node should be
|
|
244
245
|
* included in the result. The `callback` parameter has a default value of
|
|
245
|
-
* `
|
|
246
|
+
* `this.defaultOneParamCallback`, which
|
|
246
247
|
*/
|
|
247
|
-
delete(identifier, callback =
|
|
248
|
+
delete(identifier, callback = this.defaultOneParamCallback) {
|
|
248
249
|
const bstDeletedResult = [];
|
|
249
250
|
if (!this.root)
|
|
250
251
|
return bstDeletedResult;
|
|
@@ -435,7 +436,7 @@ class BinaryTree {
|
|
|
435
436
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
436
437
|
* value. This value is compared with the `identifier` parameter to determine if the node should be
|
|
437
438
|
* included in the result. The `callback` parameter has a default value of
|
|
438
|
-
* `
|
|
439
|
+
* `this.defaultOneParamCallback`, which
|
|
439
440
|
* @param [onlyOne=false] - A boolean value indicating whether to stop searching after finding the
|
|
440
441
|
* first node that matches the identifier. If set to true, the function will return an array with
|
|
441
442
|
* only one element (or an empty array if no matching node is found). If set to false (default), the
|
|
@@ -447,7 +448,7 @@ class BinaryTree {
|
|
|
447
448
|
* traverse the binary tree. It can have two possible values:
|
|
448
449
|
* @returns The function `getNodes` returns an array of nodes (`N[]`).
|
|
449
450
|
*/
|
|
450
|
-
getNodes(identifier, callback =
|
|
451
|
+
getNodes(identifier, callback = this.defaultOneParamCallback, onlyOne = false, beginRoot = this.root, iterationType = this.iterationType) {
|
|
451
452
|
if (!beginRoot)
|
|
452
453
|
return [];
|
|
453
454
|
if (identifier instanceof BinaryTreeNode)
|
|
@@ -492,7 +493,7 @@ class BinaryTree {
|
|
|
492
493
|
* @param callback - The `callback` parameter is a function that is used to determine whether a node
|
|
493
494
|
* matches the desired criteria. It takes a node as input and returns a boolean value indicating
|
|
494
495
|
* whether the node matches the criteria or not. The default callback function
|
|
495
|
-
* `
|
|
496
|
+
* `this.defaultOneParamCallback` is used if no callback function is
|
|
496
497
|
* @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
|
|
497
498
|
* the node from which the search should begin. By default, it is set to `this.root`, which means the
|
|
498
499
|
* search will start from the root node of the binary tree. However, you can provide a different node
|
|
@@ -501,7 +502,7 @@ class BinaryTree {
|
|
|
501
502
|
* performed when searching for nodes in the binary tree. It can have one of the following values:
|
|
502
503
|
* @returns a boolean value.
|
|
503
504
|
*/
|
|
504
|
-
has(identifier, callback =
|
|
505
|
+
has(identifier, callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
505
506
|
if (identifier instanceof BinaryTreeNode)
|
|
506
507
|
callback = (node => node);
|
|
507
508
|
return this.getNodes(identifier, callback, true, beginRoot, iterationType).length > 0;
|
|
@@ -514,14 +515,14 @@ class BinaryTree {
|
|
|
514
515
|
* @param callback - The `callback` parameter is a function that is used to determine whether a node
|
|
515
516
|
* matches the desired criteria. It takes a node as input and returns a boolean value indicating
|
|
516
517
|
* whether the node matches the criteria or not. The default callback function
|
|
517
|
-
* (`
|
|
518
|
+
* (`this.defaultOneParamCallback`) is used if no callback function is
|
|
518
519
|
* @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
|
|
519
520
|
* the root node from which the search should begin.
|
|
520
521
|
* @param iterationType - The `iterationType` parameter specifies the type of iteration to be
|
|
521
522
|
* performed when searching for a node in the binary tree. It can have one of the following values:
|
|
522
523
|
* @returns either the found node (of type N) or null if no node is found.
|
|
523
524
|
*/
|
|
524
|
-
getNode(identifier, callback =
|
|
525
|
+
getNode(identifier, callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
525
526
|
var _a;
|
|
526
527
|
if (identifier instanceof BinaryTreeNode)
|
|
527
528
|
callback = (node => node);
|
|
@@ -535,14 +536,14 @@ class BinaryTree {
|
|
|
535
536
|
* @param callback - The `callback` parameter is a function that is used to determine whether a node
|
|
536
537
|
* matches the desired criteria. It takes a node as input and returns a boolean value indicating
|
|
537
538
|
* whether the node matches the criteria or not. The default callback function
|
|
538
|
-
* (`
|
|
539
|
+
* (`this.defaultOneParamCallback`) is used if no callback function is
|
|
539
540
|
* @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
|
|
540
541
|
* the root node from which the search should begin.
|
|
541
542
|
* @param iterationType - The `iterationType` parameter specifies the type of iteration to be
|
|
542
543
|
* performed when searching for a node in the binary tree. It can have one of the following values:
|
|
543
544
|
* @returns either the found value (of type V) or undefined if no node value is found.
|
|
544
545
|
*/
|
|
545
|
-
get(identifier, callback =
|
|
546
|
+
get(identifier, callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
546
547
|
var _a, _b;
|
|
547
548
|
if (identifier instanceof BinaryTreeNode)
|
|
548
549
|
callback = (node => node);
|
|
@@ -704,7 +705,7 @@ class BinaryTree {
|
|
|
704
705
|
* performed on the binary tree. It can have two possible values:
|
|
705
706
|
* @returns The function `subTreeTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
|
|
706
707
|
*/
|
|
707
|
-
subTreeTraverse(callback =
|
|
708
|
+
subTreeTraverse(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
708
709
|
if (typeof beginRoot === 'number')
|
|
709
710
|
beginRoot = this.getNode(beginRoot);
|
|
710
711
|
const ans = [];
|
|
@@ -734,7 +735,7 @@ class BinaryTree {
|
|
|
734
735
|
* function on each node according to a specified order pattern.
|
|
735
736
|
* @param callback - The `callback` parameter is a function that will be called on each node during
|
|
736
737
|
* the depth-first search traversal. It takes a node as input and returns a value. The default value
|
|
737
|
-
* is `
|
|
738
|
+
* is `this.defaultOneParamCallback`, which is a callback function defined elsewhere in the code.
|
|
738
739
|
* @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter determines the order in which the
|
|
739
740
|
* nodes are visited during the depth-first search. There are three possible values for `pattern`:
|
|
740
741
|
* @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the depth-first
|
|
@@ -744,7 +745,7 @@ class BinaryTree {
|
|
|
744
745
|
* iteration used in the depth-first search algorithm. It can have two possible values:
|
|
745
746
|
* @returns The function `dfs` returns an array of `ReturnType<BTNCallback<N>>` values.
|
|
746
747
|
*/
|
|
747
|
-
dfs(callback =
|
|
748
|
+
dfs(callback = this.defaultOneParamCallback, pattern = 'in', beginRoot = this.root, iterationType = types_1.IterationType.ITERATIVE) {
|
|
748
749
|
if (!beginRoot)
|
|
749
750
|
return [];
|
|
750
751
|
const ans = [];
|
|
@@ -819,7 +820,7 @@ class BinaryTree {
|
|
|
819
820
|
* function on each node.
|
|
820
821
|
* @param callback - The `callback` parameter is a function that will be called for each node in the
|
|
821
822
|
* breadth-first search. It takes a node of type `N` as its argument and returns a value of type
|
|
822
|
-
* `ReturnType<BTNCallback<N>>`. The default value for this parameter is `
|
|
823
|
+
* `ReturnType<BTNCallback<N>>`. The default value for this parameter is `this.defaultOneParamCallback
|
|
823
824
|
* @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the breadth-first
|
|
824
825
|
* search. It determines from which node the search will begin. If `beginRoot` is `null`, the search
|
|
825
826
|
* will not be performed and an empty array will be returned.
|
|
@@ -827,7 +828,7 @@ class BinaryTree {
|
|
|
827
828
|
* in the breadth-first search (BFS) algorithm. It can have two possible values:
|
|
828
829
|
* @returns The function `bfs` returns an array of `ReturnType<BTNCallback<N>>[]`.
|
|
829
830
|
*/
|
|
830
|
-
bfs(callback =
|
|
831
|
+
bfs(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
831
832
|
if (!beginRoot)
|
|
832
833
|
return [];
|
|
833
834
|
const ans = [];
|
|
@@ -877,7 +878,7 @@ class BinaryTree {
|
|
|
877
878
|
* level in a binary tree. Each inner array contains the return type of the provided callback
|
|
878
879
|
* function `C` applied to the nodes at that level.
|
|
879
880
|
*/
|
|
880
|
-
listLevels(callback =
|
|
881
|
+
listLevels(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
|
|
881
882
|
if (!beginRoot)
|
|
882
883
|
return [];
|
|
883
884
|
const levelsNodes = [];
|
|
@@ -952,7 +953,7 @@ class BinaryTree {
|
|
|
952
953
|
* algorithm and returns an array of values obtained by applying a callback function to each node.
|
|
953
954
|
* @param callback - The `callback` parameter is a function that will be called on each node in the
|
|
954
955
|
* tree. It takes a node of type `N` as input and returns a value of type `ReturnType<BTNCallback<N>>`. The
|
|
955
|
-
* default value for this parameter is `
|
|
956
|
+
* default value for this parameter is `this.defaultOneParamCallback`.
|
|
956
957
|
* @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter in the `morris` function
|
|
957
958
|
* determines the order in which the nodes of a binary tree are traversed. It can have one of the
|
|
958
959
|
* following values:
|
|
@@ -961,7 +962,7 @@ class BinaryTree {
|
|
|
961
962
|
* `beginRoot` is `null`, an empty array will be returned.
|
|
962
963
|
* @returns The `morris` function returns an array of `ReturnType<BTNCallback<N>>` values.
|
|
963
964
|
*/
|
|
964
|
-
morris(callback =
|
|
965
|
+
morris(callback = this.defaultOneParamCallback, pattern = 'in', beginRoot = this.root) {
|
|
965
966
|
if (beginRoot === null)
|
|
966
967
|
return [];
|
|
967
968
|
const ans = [];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-tree.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/binary-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,25 +54,6 @@ export declare class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNe
|
|
|
54
54
|
* @returns The `addMany` function returns an array of `N`, `null`, or `undefined` values.
|
|
55
55
|
*/
|
|
56
56
|
addMany(keysOrNodes: (BTNKey | null)[] | (N | null)[], data?: V[], isBalanceAdd?: boolean, iterationType?: IterationType): (N | null | undefined)[];
|
|
57
|
-
/**
|
|
58
|
-
* The function returns the first node in the binary tree that matches the given node property and
|
|
59
|
-
* callback.
|
|
60
|
-
* @param {ReturnType<C> | N} identifier - The `nodeProperty` parameter is used to specify the
|
|
61
|
-
* property of the binary tree node that you want to search for. It can be either a specific key
|
|
62
|
-
* value (`BTNKey`) or a custom callback function (`BTNCallback<N>`) that determines
|
|
63
|
-
* whether a node matches the desired property.
|
|
64
|
-
* @param callback - The `callback` parameter is a function that is used to determine whether a node
|
|
65
|
-
* matches the desired property. It takes a node as input and returns a boolean value indicating
|
|
66
|
-
* whether the node matches the property or not. If no callback function is provided, the default
|
|
67
|
-
* callback function `_defaultCallbackByKey` is used
|
|
68
|
-
* @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
|
|
69
|
-
* the root node from which the search should begin.
|
|
70
|
-
* @param iterationType - The `iterationType` parameter is used to specify the type of iteration to
|
|
71
|
-
* be performed when searching for nodes in the binary tree. It can have one of the following values:
|
|
72
|
-
* @returns either the first node that matches the given nodeProperty and callback, or null if no
|
|
73
|
-
* matching node is found.
|
|
74
|
-
*/
|
|
75
|
-
getNode<C extends BTNCallback<N>>(identifier: ReturnType<C> | null, callback?: C, beginRoot?: N | null, iterationType?: IterationType): N | null;
|
|
76
57
|
/**
|
|
77
58
|
* The function `lastKey` returns the key of the rightmost node if the comparison result is less
|
|
78
59
|
* than, the key of the leftmost node if the comparison result is greater than, and the key of the
|
|
@@ -97,7 +78,7 @@ export declare class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNe
|
|
|
97
78
|
* generic type `N`.
|
|
98
79
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
99
80
|
* value. This value is compared with the `nodeProperty` parameter to determine if the node should be
|
|
100
|
-
* included in the result. The default value for `callback` is `
|
|
81
|
+
* included in the result. The default value for `callback` is `this.defaultOneParamCallback`, which is
|
|
101
82
|
* a
|
|
102
83
|
* @param [onlyOne=false] - A boolean value indicating whether to stop the traversal after finding
|
|
103
84
|
* the first node that matches the nodeProperty. If set to true, the function will return an array
|
|
@@ -205,28 +205,6 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
205
205
|
}
|
|
206
206
|
return inserted;
|
|
207
207
|
}
|
|
208
|
-
/**
|
|
209
|
-
* The function returns the first node in the binary tree that matches the given node property and
|
|
210
|
-
* callback.
|
|
211
|
-
* @param {ReturnType<C> | N} identifier - The `nodeProperty` parameter is used to specify the
|
|
212
|
-
* property of the binary tree node that you want to search for. It can be either a specific key
|
|
213
|
-
* value (`BTNKey`) or a custom callback function (`BTNCallback<N>`) that determines
|
|
214
|
-
* whether a node matches the desired property.
|
|
215
|
-
* @param callback - The `callback` parameter is a function that is used to determine whether a node
|
|
216
|
-
* matches the desired property. It takes a node as input and returns a boolean value indicating
|
|
217
|
-
* whether the node matches the property or not. If no callback function is provided, the default
|
|
218
|
-
* callback function `_defaultCallbackByKey` is used
|
|
219
|
-
* @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
|
|
220
|
-
* the root node from which the search should begin.
|
|
221
|
-
* @param iterationType - The `iterationType` parameter is used to specify the type of iteration to
|
|
222
|
-
* be performed when searching for nodes in the binary tree. It can have one of the following values:
|
|
223
|
-
* @returns either the first node that matches the given nodeProperty and callback, or null if no
|
|
224
|
-
* matching node is found.
|
|
225
|
-
*/
|
|
226
|
-
getNode(identifier, callback = ((node) => node.key), beginRoot = this.root, iterationType = this.iterationType) {
|
|
227
|
-
var _a;
|
|
228
|
-
return (_a = this.getNodes(identifier, callback, true, beginRoot, iterationType)[0]) !== null && _a !== void 0 ? _a : null;
|
|
229
|
-
}
|
|
230
208
|
/**
|
|
231
209
|
* The function `lastKey` returns the key of the rightmost node if the comparison result is less
|
|
232
210
|
* than, the key of the leftmost node if the comparison result is greater than, and the key of the
|
|
@@ -259,7 +237,7 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
259
237
|
* generic type `N`.
|
|
260
238
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
261
239
|
* value. This value is compared with the `nodeProperty` parameter to determine if the node should be
|
|
262
|
-
* included in the result. The default value for `callback` is `
|
|
240
|
+
* included in the result. The default value for `callback` is `this.defaultOneParamCallback`, which is
|
|
263
241
|
* a
|
|
264
242
|
* @param [onlyOne=false] - A boolean value indicating whether to stop the traversal after finding
|
|
265
243
|
* the first node that matches the nodeProperty. If set to true, the function will return an array
|
|
@@ -272,7 +250,7 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
272
250
|
* traverse the binary tree. It can have one of the following values:
|
|
273
251
|
* @returns an array of nodes (N[]).
|
|
274
252
|
*/
|
|
275
|
-
getNodes(identifier, callback =
|
|
253
|
+
getNodes(identifier, callback = this.defaultOneParamCallback, onlyOne = false, beginRoot = this.root, iterationType = this.iterationType) {
|
|
276
254
|
if (!beginRoot)
|
|
277
255
|
return [];
|
|
278
256
|
const ans = [];
|
|
@@ -287,7 +265,7 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
287
265
|
if (!cur.left && !cur.right)
|
|
288
266
|
return;
|
|
289
267
|
// TODO potential bug
|
|
290
|
-
if (callback ===
|
|
268
|
+
if (callback === this.defaultOneParamCallback) {
|
|
291
269
|
if (this._compare(cur.key, identifier) === types_1.CP.gt)
|
|
292
270
|
cur.left && _traverse(cur.left);
|
|
293
271
|
if (this._compare(cur.key, identifier) === types_1.CP.lt)
|
|
@@ -312,7 +290,7 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
312
290
|
return ans;
|
|
313
291
|
}
|
|
314
292
|
// TODO potential bug
|
|
315
|
-
if (callback ===
|
|
293
|
+
if (callback === this.defaultOneParamCallback) {
|
|
316
294
|
if (this._compare(cur.key, identifier) === types_1.CP.gt)
|
|
317
295
|
cur.left && queue.push(cur.left);
|
|
318
296
|
if (this._compare(cur.key, identifier) === types_1.CP.lt)
|
|
@@ -345,7 +323,7 @@ class BST extends binary_tree_1.BinaryTree {
|
|
|
345
323
|
* done recursively or iteratively. It can have two possible values:
|
|
346
324
|
* @returns The function `lesserOrGreaterTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
|
|
347
325
|
*/
|
|
348
|
-
lesserOrGreaterTraverse(callback =
|
|
326
|
+
lesserOrGreaterTraverse(callback = this.defaultOneParamCallback, lesserOrGreater = types_1.CP.lt, targetNode = this.root, iterationType = this.iterationType) {
|
|
349
327
|
if (typeof targetNode === 'number')
|
|
350
328
|
targetNode = this.getNode(targetNode);
|
|
351
329
|
const ans = [];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bst.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/bst.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,wCAAsB;AACtB,wDAAsC;AACtC,iDAA+B;AAC/B,6CAA2B;AAC3B,4CAA0B;AAC1B,kDAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uCAAsC;AAEtC,MAAa,UAAU;IAOrB,YAAY,GAAW,EAAE,QAAmB,iBAAS,CAAC,KAAK;QAF3D,UAAK,GAAW,iBAAS,CAAC,KAAK,CAAC;QAG9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAA6B,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAA6B,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAA6B,CAAC;IAC7C,CAAC;CACF;AAdD,gCAcC;AAEY,QAAA,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,MAAa,YAAY;IACvB;QACE,IAAI,CAAC,KAAK,GAAG,WAAG,CAAC;IACnB,CAAC;IAID,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAW;QAChB,MAAM,IAAI,GAAe,IAAI,UAAU,CAAC,GAAG,EAAE,iBAAS,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,WAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,WAAG,CAAC;QAEjB,IAAI,CAAC,GAAe,IAA6B,CAAC;QAClD,IAAI,CAAC,GAAe,IAAI,CAAC,IAAI,CAAC;QAE9B,OAAO,CAAC,KAAK,WAAG,EAAE;YAChB,CAAC,GAAG,CAAC,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE;gBACpB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;aACZ;iBAAM;gBACL,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;aACb;SACF;QAED,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;aAAM,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE;YAC3B,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;SACf;aAAM;YACL,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;YAC/B,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAW;QAChB,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAQ,EAAE;YACxC,IAAI,CAAC,GAAe,WAAG,CAAC;YACxB,IAAI,CAAa,EAAE,CAAa,CAAC;YACjC,OAAO,IAAI,KAAK,WAAG,EAAE;gBACnB,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;oBACpB,CAAC,GAAG,IAAI,CAAC;iBACV;gBAED,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;oBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;iBACnB;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;iBAClB;aACF;YAED,IAAI,CAAC,KAAK,WAAG,EAAE;gBACb,OAAO;aACR;YAED,CAAC,GAAG,CAAC,CAAC;YACN,IAAI,cAAc,GAAW,CAAC,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAG,EAAE;gBAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAChC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,WAAG,EAAE;gBAC1B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACX,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACZ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBAClB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACpB;gBAED,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACnB;YACD,IAAI,cAAc,KAAK,iBAAS,CAAC,KAAK,EAAE;gBACtC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACpB;QACH,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,IAAmC;QAC5C,OAAO,IAAI,KAAK,WAAG,IAAI,IAAI,KAAK,IAAI,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI;QACxC,MAAM,GAAG,GAAG,CAAC,IAAgB,EAAc,EAAE;YAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;oBACpB,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG;oBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;iBAAM;gBACL,OAAO,IAA6B,CAAC;aACtC;QACH,CAAC,CAAC;QACF,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAAmB,IAAI,CAAC,IAAI;QACtC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAG,EAAE;YAC9C,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAgB;QAC3B,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,WAAG,EAAE;YAChD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,CAAa;QACxB,IAAI,CAAC,CAAC,KAAK,KAAK,WAAG,EAAE;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,GAAe,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,WAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAC/C,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,CAAa;QAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAG,EAAE;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,GAAe,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,WAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;YAChC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,YAAwB,IAAI,CAAC,IAAI;QACrC,MAAM,OAAO,GAAG,CAAC,IAAuB,EAAQ,EAAE;YAChD,MAAM,CAAC,KAAK,EAAE,AAAD,EAAG,AAAD,EAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,IAAuB,EAAsC,EAAE;YAClF,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC7C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,MAAM,MAAM,GAAG,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACxC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBACvB,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC3F;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrE,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC9D,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACvF;YAED,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrG,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACpD;iBAAM,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrD;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC;QAEF,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,CAAa;QACjC,MAAM,CAAC,GAAe,CAAC,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAG,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACnB;QACD,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;aAAM,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;;OAIG;IACO,YAAY,CAAC,CAAa;QAClC,MAAM,CAAC,GAAe,CAAC,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,KAAK,KAAK,WAAG,EAAE;YACnB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACpB;QACD,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;aAAM,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;YAC/B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;SACpB;aAAM;YACL,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;SACnB;QACD,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,CAAa;QAChC,IAAI,CAAa,CAAC;QAClB,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,EAAE;YACrD,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;oBACjB,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC3B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACpB;gBAED,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,EAAE;oBAC5F,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACxB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,EAAE;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;wBAC/B,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;wBACxB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBACpB;oBAED,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBACzB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAChC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC3B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBACf;aACF;iBAAM;gBACL,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;oBACjB,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;iBACnB;gBAED,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,EAAE;oBAC1E,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACxB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,iBAAS,CAAC,KAAK,EAAE;wBACpC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;wBAChC,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;wBACxB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACpB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;qBACnB;oBAED,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBACzB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBACf;aACF;SACF;QACD,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACO,aAAa,CAAC,CAAa,EAAE,CAAa;QAClD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;aAAM,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,CAAa;QAChC,IAAI,CAAa,CAAC;QAClB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACtC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;oBACjB,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACtC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBACrB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;wBACvB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACb,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBACtB;oBAED,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACtC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACnC;aACF;iBAAM;gBACL,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAE1B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;oBACjB,CAAC,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACtC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBACrB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACb,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBACrB;oBAED,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACpC;aACF;YACD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;gBACnB,MAAM;aACP;SACF;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC;IACpC,CAAC;CACF;AA3bD,oCA2bC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-tree.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/segment-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ export declare class TreeMultiset<V = any, N extends TreeMultisetNode<V, N> = Tr
|
|
|
98
98
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
99
99
|
* value. This value is compared with the `identifier` parameter to determine if the node should be
|
|
100
100
|
* included in the result. The `callback` parameter has a default value of
|
|
101
|
-
* `
|
|
101
|
+
* `this.defaultOneParamCallback`
|
|
102
102
|
* @param [ignoreCount=false] - A boolean flag indicating whether to ignore the count of the node
|
|
103
103
|
* being deleted. If set to true, the count of the node will not be considered and the node will be
|
|
104
104
|
* deleted regardless of its count. If set to false (default), the count of the node will be
|
|
@@ -251,14 +251,14 @@ class TreeMultiset extends avl_tree_1.AVLTree {
|
|
|
251
251
|
* @param callback - The `callback` parameter is a function that takes a node as input and returns a
|
|
252
252
|
* value. This value is compared with the `identifier` parameter to determine if the node should be
|
|
253
253
|
* included in the result. The `callback` parameter has a default value of
|
|
254
|
-
* `
|
|
254
|
+
* `this.defaultOneParamCallback`
|
|
255
255
|
* @param [ignoreCount=false] - A boolean flag indicating whether to ignore the count of the node
|
|
256
256
|
* being deleted. If set to true, the count of the node will not be considered and the node will be
|
|
257
257
|
* deleted regardless of its count. If set to false (default), the count of the node will be
|
|
258
258
|
* decremented by 1 and
|
|
259
259
|
* @returns The method `delete` returns an array of `BinaryTreeDeletedResult<N>` objects.
|
|
260
260
|
*/
|
|
261
|
-
delete(identifier, callback =
|
|
261
|
+
delete(identifier, callback = this.defaultOneParamCallback, ignoreCount = false) {
|
|
262
262
|
const bstDeletedResult = [];
|
|
263
263
|
if (!this.root)
|
|
264
264
|
return bstDeletedResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-multiset.js","sourceRoot":"","sources":["../../../../../src/data-structures/binary-tree/tree-multiset.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,21 +172,21 @@ class AbstractGraph {
|
|
|
172
172
|
return [];
|
|
173
173
|
}
|
|
174
174
|
const dfs = (cur, dest, visiting, path) => {
|
|
175
|
-
visiting.
|
|
175
|
+
visiting.add(cur);
|
|
176
176
|
if (cur === dest) {
|
|
177
177
|
paths.push([vertex1, ...path]);
|
|
178
178
|
}
|
|
179
179
|
const neighbors = this.getNeighbors(cur);
|
|
180
180
|
for (const neighbor of neighbors) {
|
|
181
|
-
if (!visiting.
|
|
181
|
+
if (!visiting.has(neighbor)) {
|
|
182
182
|
path.push(neighbor);
|
|
183
183
|
dfs(neighbor, dest, visiting, path);
|
|
184
|
-
|
|
184
|
+
path.pop();
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
visiting.
|
|
187
|
+
visiting.delete(cur);
|
|
188
188
|
};
|
|
189
|
-
dfs(vertex1, vertex2, new
|
|
189
|
+
dfs(vertex1, vertex2, new Set(), []);
|
|
190
190
|
return paths;
|
|
191
191
|
}
|
|
192
192
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directed-graph.js","sourceRoot":"","sources":["../../../../../src/data-structures/graph/directed-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data-structures/graph/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,8CAA4B"}
|