data-structure-typed 1.33.0 → 1.33.5
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/{.eslintrc.json → .eslintrc.js} +2 -1
- package/.github/workflows/ci.yml +15 -3
- package/.github/workflows/release-package.yml +32 -0
- package/{.prettierrc → .prettierrc.js} +1 -1
- package/CHANGELOG.md +5 -1
- package/README.md +196 -257
- package/coverage/coverage-final.json +64 -64
- package/coverage/coverage-summary.json +16 -16
- package/dist/data-structures/binary-tree/abstract-binary-tree.js +1 -16
- package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/avl-tree.js +2 -2
- package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/rb-tree.js +3 -4
- package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/data-structures/graph/abstract-graph.js +12 -12
- package/dist/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/data-structures/hash/hash-table.js +107 -2
- package/dist/data-structures/hash/hash-table.js.map +1 -1
- package/dist/data-structures/heap/max-heap.js.map +1 -1
- package/dist/data-structures/heap/min-heap.js.map +1 -1
- package/dist/data-structures/linked-list/doubly-linked-list.js +30 -0
- package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -1
- package/dist/data-structures/matrix/matrix2d.js +5 -8
- package/dist/data-structures/matrix/matrix2d.js.map +1 -1
- package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
- package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
- package/dist/data-structures/priority-queue/priority-queue.js +6 -6
- package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
- package/dist/data-structures/queue/deque.js.map +1 -1
- package/docs/index.html +196 -256
- package/docs/modules.html +2 -0
- package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +8 -18
- package/lib/data-structures/binary-tree/abstract-binary-tree.js +5 -23
- package/lib/data-structures/binary-tree/avl-tree.d.ts +7 -10
- package/lib/data-structures/binary-tree/avl-tree.js +6 -9
- package/lib/data-structures/binary-tree/binary-tree.d.ts +2 -2
- package/lib/data-structures/binary-tree/bst.d.ts +2 -2
- package/lib/data-structures/binary-tree/rb-tree.d.ts +3 -3
- package/lib/data-structures/binary-tree/rb-tree.js +3 -3
- package/lib/data-structures/binary-tree/tree-multiset.d.ts +3 -3
- package/lib/data-structures/binary-tree/tree-multiset.js +1 -1
- package/lib/data-structures/graph/abstract-graph.d.ts +10 -10
- package/lib/data-structures/graph/abstract-graph.js +2 -2
- package/lib/data-structures/graph/directed-graph.d.ts +6 -6
- package/lib/data-structures/graph/directed-graph.js +2 -2
- package/lib/data-structures/graph/map-graph.d.ts +6 -6
- package/lib/data-structures/graph/map-graph.js +2 -2
- package/lib/data-structures/graph/undirected-graph.d.ts +6 -6
- package/lib/data-structures/graph/undirected-graph.js +2 -2
- package/lib/data-structures/hash/hash-table.d.ts +61 -1
- package/lib/data-structures/hash/hash-table.js +136 -0
- package/lib/data-structures/heap/heap.d.ts +31 -31
- package/lib/data-structures/heap/heap.js +11 -11
- package/lib/data-structures/heap/max-heap.d.ts +4 -4
- package/lib/data-structures/heap/max-heap.js +1 -1
- package/lib/data-structures/heap/min-heap.d.ts +4 -4
- package/lib/data-structures/heap/min-heap.js +1 -1
- package/lib/data-structures/linked-list/doubly-linked-list.d.ts +93 -54
- package/lib/data-structures/linked-list/doubly-linked-list.js +79 -22
- package/lib/data-structures/linked-list/singly-linked-list.d.ts +46 -46
- package/lib/data-structures/linked-list/singly-linked-list.js +20 -20
- package/lib/data-structures/matrix/matrix.d.ts +3 -3
- package/lib/data-structures/matrix/matrix2d.d.ts +1 -1
- package/lib/data-structures/matrix/matrix2d.js +3 -2
- package/lib/data-structures/priority-queue/max-priority-queue.d.ts +4 -4
- package/lib/data-structures/priority-queue/min-priority-queue.d.ts +4 -4
- package/lib/data-structures/priority-queue/priority-queue.d.ts +26 -26
- package/lib/data-structures/priority-queue/priority-queue.js +8 -8
- package/lib/data-structures/queue/deque.d.ts +30 -30
- package/lib/data-structures/queue/deque.js +7 -7
- package/lib/data-structures/queue/queue.d.ts +27 -27
- package/lib/data-structures/queue/queue.js +8 -8
- package/lib/data-structures/stack/stack.d.ts +15 -15
- package/lib/data-structures/stack/stack.js +6 -6
- package/lib/data-structures/tree/tree.d.ts +7 -7
- package/lib/interfaces/abstract-binary-tree.d.ts +0 -1
- package/lib/interfaces/avl-tree.d.ts +1 -1
- package/lib/types/data-structures/navigator.d.ts +1 -1
- package/package.json +68 -62
- package/src/data-structures/binary-tree/aa-tree.ts +1 -0
- package/src/data-structures/binary-tree/abstract-binary-tree.ts +1608 -0
- package/src/data-structures/binary-tree/avl-tree.ts +307 -0
- package/src/data-structures/binary-tree/b-tree.ts +1 -0
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +76 -0
- package/src/data-structures/binary-tree/binary-tree.ts +47 -0
- package/src/data-structures/binary-tree/bst.ts +537 -0
- package/src/data-structures/binary-tree/index.ts +12 -0
- package/src/data-structures/binary-tree/rb-tree.ts +366 -0
- package/src/data-structures/binary-tree/segment-tree.ts +242 -0
- package/src/data-structures/binary-tree/splay-tree.ts +1 -0
- package/src/data-structures/binary-tree/tree-multiset.ts +700 -0
- package/src/data-structures/binary-tree/two-three-tree.ts +1 -0
- package/src/data-structures/graph/abstract-graph.ts +1040 -0
- package/src/data-structures/graph/directed-graph.ts +470 -0
- package/src/data-structures/graph/index.ts +4 -0
- package/src/data-structures/graph/map-graph.ts +129 -0
- package/src/data-structures/graph/undirected-graph.ts +274 -0
- package/src/data-structures/hash/coordinate-map.ts +67 -0
- package/src/data-structures/hash/coordinate-set.ts +56 -0
- package/src/data-structures/hash/hash-table.ts +157 -0
- package/src/data-structures/hash/index.ts +6 -0
- package/src/data-structures/hash/pair.ts +1 -0
- package/src/data-structures/hash/tree-map.ts +1 -0
- package/src/data-structures/hash/tree-set.ts +1 -0
- package/src/data-structures/heap/heap.ts +212 -0
- package/src/data-structures/heap/index.ts +3 -0
- package/src/data-structures/heap/max-heap.ts +31 -0
- package/src/data-structures/heap/min-heap.ts +32 -0
- package/src/data-structures/index.ts +11 -0
- package/src/data-structures/linked-list/doubly-linked-list.ts +636 -0
- package/src/data-structures/linked-list/index.ts +3 -0
- package/src/data-structures/linked-list/singly-linked-list.ts +501 -0
- package/src/data-structures/linked-list/skip-linked-list.ts +1 -0
- package/src/data-structures/matrix/index.ts +4 -0
- package/src/data-structures/matrix/matrix.ts +27 -0
- package/src/data-structures/matrix/matrix2d.ts +213 -0
- package/src/data-structures/matrix/navigator.ts +121 -0
- package/src/data-structures/matrix/vector2d.ts +316 -0
- package/src/data-structures/priority-queue/index.ts +3 -0
- package/src/data-structures/priority-queue/max-priority-queue.ts +56 -0
- package/src/data-structures/priority-queue/min-priority-queue.ts +57 -0
- package/src/data-structures/priority-queue/priority-queue.ts +359 -0
- package/src/data-structures/queue/deque.ts +297 -0
- package/src/data-structures/queue/index.ts +2 -0
- package/src/data-structures/queue/queue.ts +191 -0
- package/src/data-structures/stack/index.ts +1 -0
- package/src/data-structures/stack/stack.ts +98 -0
- package/src/data-structures/tree/index.ts +1 -0
- package/src/data-structures/tree/tree.ts +69 -0
- package/src/data-structures/trie/index.ts +1 -0
- package/src/data-structures/trie/trie.ts +225 -0
- package/src/index.ts +4 -0
- package/src/interfaces/abstract-binary-tree.ts +189 -0
- package/src/interfaces/abstract-graph.ts +31 -0
- package/src/interfaces/avl-tree.ts +25 -0
- package/src/interfaces/binary-tree.ts +6 -0
- package/src/interfaces/bst.ts +31 -0
- package/src/interfaces/directed-graph.ts +20 -0
- package/src/interfaces/doubly-linked-list.ts +1 -0
- package/src/interfaces/heap.ts +1 -0
- package/src/interfaces/index.ts +15 -0
- package/src/interfaces/navigator.ts +1 -0
- package/src/interfaces/priority-queue.ts +1 -0
- package/src/interfaces/rb-tree.ts +9 -0
- package/src/interfaces/segment-tree.ts +1 -0
- package/src/interfaces/singly-linked-list.ts +1 -0
- package/src/interfaces/tree-multiset.ts +7 -0
- package/src/interfaces/undirected-graph.ts +6 -0
- package/src/types/data-structures/abstract-binary-tree.ts +50 -0
- package/src/types/data-structures/abstract-graph.ts +11 -0
- package/src/types/data-structures/avl-tree.ts +5 -0
- package/src/types/data-structures/binary-tree.ts +5 -0
- package/src/types/data-structures/bst.ts +13 -0
- package/src/types/data-structures/directed-graph.ts +8 -0
- package/src/types/data-structures/doubly-linked-list.ts +1 -0
- package/src/types/data-structures/heap.ts +5 -0
- package/src/types/data-structures/index.ts +15 -0
- package/src/types/data-structures/map-graph.ts +1 -0
- package/src/types/data-structures/navigator.ts +13 -0
- package/src/types/data-structures/priority-queue.ts +9 -0
- package/src/types/data-structures/rb-tree.ts +8 -0
- package/src/types/data-structures/segment-tree.ts +1 -0
- package/src/types/data-structures/singly-linked-list.ts +1 -0
- package/src/types/data-structures/tree-multiset.ts +6 -0
- package/src/types/helpers.ts +1 -0
- package/src/types/index.ts +3 -0
- package/src/types/utils/index.ts +2 -0
- package/src/types/utils/utils.ts +6 -0
- package/src/types/utils/validate-type.ts +35 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/utils.ts +79 -0
- package/test/integration/avl-tree.test.ts +14 -17
- package/test/integration/bst.test.ts +50 -41
- package/test/integration/heap.test.js +0 -3
- package/test/integration/index.html +6 -6
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +14 -17
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +142 -0
- package/test/unit/data-structures/binary-tree/bst.test.ts +50 -41
- package/test/unit/data-structures/binary-tree/overall.test.ts +36 -28
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +43 -0
- package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +23 -12
- package/test/unit/data-structures/graph/directed-graph.test.ts +27 -25
- package/test/unit/data-structures/graph/map-graph.test.ts +4 -5
- package/test/unit/data-structures/graph/overall.test.ts +10 -11
- package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -1
- package/test/unit/data-structures/hash/coordinate-map.test.ts +54 -0
- package/test/unit/data-structures/hash/coordinate-set.test.ts +41 -0
- package/test/unit/data-structures/hash/hash-table.test.ts +97 -0
- package/test/unit/data-structures/heap/heap.test.ts +7 -8
- package/test/unit/data-structures/heap/max-heap.test.ts +7 -5
- package/test/unit/data-structures/heap/min-heap.test.ts +6 -5
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +8 -9
- package/test/unit/data-structures/linked-list/linked-list.test.ts +2 -4
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +57 -7
- package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +3 -3
- package/test/unit/data-structures/matrix/matrix.test.ts +54 -0
- package/test/unit/data-structures/matrix/matrix2d.test.ts +138 -0
- package/test/unit/data-structures/matrix/navigator.test.ts +79 -0
- package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +5 -7
- package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +13 -13
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +8 -8
- package/test/unit/data-structures/queue/deque.test.ts +130 -0
- package/test/unit/data-structures/queue/queue.test.ts +167 -4
- package/test/unit/data-structures/stack/stack.test.ts +67 -0
- package/test/unit/data-structures/tree/tree.test.ts +39 -0
- package/test/unit/data-structures/trie/trie.test.ts +95 -0
- package/test/utils/magnitude.ts +3 -3
- package/tsconfig.json +3 -12
- package/tsconfig.prod.json +25 -0
- package/umd/bundle.min.js +1 -1
- package/umd/bundle.min.js.map +1 -1
- package/.auto-changelog +0 -9
- package/.gitattributes +0 -112
- package/.idea/data-structure-typed.iml +0 -19
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.prettierignore +0 -6
- package/webpack.config.js +0 -28
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
{"total": {"lines":{"total":
|
|
1
|
+
{"total": {"lines":{"total":3186,"covered":2078,"skipped":0,"pct":65.22},"statements":{"total":3497,"covered":2229,"skipped":0,"pct":63.74},"functions":{"total":664,"covered":419,"skipped":0,"pct":63.1},"branches":{"total":1672,"covered":876,"skipped":0,"pct":52.39},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
2
2
|
,"/Users/revone/projects/data-structure-typed/src/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
3
3
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/index.ts": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
4
4
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/aa-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
5
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/abstract-binary-tree.ts": {"lines":{"total":
|
|
5
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/abstract-binary-tree.ts": {"lines":{"total":553,"covered":227,"skipped":0,"pct":41.04},"functions":{"total":80,"covered":43,"skipped":0,"pct":53.75},"statements":{"total":607,"covered":238,"skipped":0,"pct":39.2},"branches":{"total":377,"covered":147,"skipped":0,"pct":38.99}}
|
|
6
6
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/avl-tree.ts": {"lines":{"total":126,"covered":95,"skipped":0,"pct":75.39},"functions":{"total":12,"covered":11,"skipped":0,"pct":91.66},"statements":{"total":145,"covered":110,"skipped":0,"pct":75.86},"branches":{"total":94,"covered":70,"skipped":0,"pct":74.46}}
|
|
7
7
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/b-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
8
8
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/binary-indexed-tree.ts": {"lines":{"total":15,"covered":1,"skipped":0,"pct":6.66},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":16,"covered":1,"skipped":0,"pct":6.25},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}}
|
|
9
9
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/binary-tree.ts": {"lines":{"total":6,"covered":5,"skipped":0,"pct":83.33},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":6,"covered":5,"skipped":0,"pct":83.33},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
10
10
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/bst.ts": {"lines":{"total":256,"covered":131,"skipped":0,"pct":51.17},"functions":{"total":31,"covered":13,"skipped":0,"pct":41.93},"statements":{"total":308,"covered":144,"skipped":0,"pct":46.75},"branches":{"total":230,"covered":88,"skipped":0,"pct":38.26}}
|
|
11
11
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/index.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
12
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/rb-tree.ts": {"lines":{"total":10,"covered":4,"skipped":0,"pct":40},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":4,"skipped":0,"pct":40},"branches":{"total":
|
|
12
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/rb-tree.ts": {"lines":{"total":10,"covered":4,"skipped":0,"pct":40},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":4,"skipped":0,"pct":40},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
13
13
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/segment-tree.ts": {"lines":{"total":84,"covered":2,"skipped":0,"pct":2.38},"functions":{"total":27,"covered":0,"skipped":0,"pct":0},"statements":{"total":86,"covered":2,"skipped":0,"pct":2.32},"branches":{"total":39,"covered":0,"skipped":0,"pct":0}}
|
|
14
14
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/splay-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
15
15
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/tree-multiset.ts": {"lines":{"total":299,"covered":162,"skipped":0,"pct":54.18},"functions":{"total":39,"covered":17,"skipped":0,"pct":43.58},"statements":{"total":344,"covered":172,"skipped":0,"pct":50},"branches":{"total":194,"covered":79,"skipped":0,"pct":40.72}}
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
20
20
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/map-graph.ts": {"lines":{"total":22,"covered":13,"skipped":0,"pct":59.09},"functions":{"total":13,"covered":4,"skipped":0,"pct":30.76},"statements":{"total":22,"covered":13,"skipped":0,"pct":59.09},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}}
|
|
21
21
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/undirected-graph.ts": {"lines":{"total":74,"covered":53,"skipped":0,"pct":71.62},"functions":{"total":24,"covered":16,"skipped":0,"pct":66.66},"statements":{"total":79,"covered":57,"skipped":0,"pct":72.15},"branches":{"total":52,"covered":30,"skipped":0,"pct":57.69}}
|
|
22
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-map.ts": {"lines":{"total":10,"covered":
|
|
23
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-set.ts": {"lines":{"total":9,"covered":
|
|
24
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/hash-table.ts": {"lines":{"total":
|
|
22
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-map.ts": {"lines":{"total":10,"covered":8,"skipped":0,"pct":80},"functions":{"total":7,"covered":5,"skipped":0,"pct":71.42},"statements":{"total":11,"covered":8,"skipped":0,"pct":72.72},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
|
|
23
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-set.ts": {"lines":{"total":9,"covered":7,"skipped":0,"pct":77.77},"functions":{"total":6,"covered":4,"skipped":0,"pct":66.66},"statements":{"total":10,"covered":7,"skipped":0,"pct":70},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
|
|
24
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/hash-table.ts": {"lines":{"total":52,"covered":41,"skipped":0,"pct":78.84},"functions":{"total":12,"covered":10,"skipped":0,"pct":83.33},"statements":{"total":53,"covered":42,"skipped":0,"pct":79.24},"branches":{"total":10,"covered":7,"skipped":0,"pct":70}}
|
|
25
25
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/index.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
26
26
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/pair.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
27
27
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/tree-map.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
@@ -30,28 +30,28 @@
|
|
|
30
30
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
31
31
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/max-heap.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
32
32
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/min-heap.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
33
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/doubly-linked-list.ts": {"lines":{"total":
|
|
33
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/doubly-linked-list.ts": {"lines":{"total":218,"covered":195,"skipped":0,"pct":89.44},"functions":{"total":45,"covered":43,"skipped":0,"pct":95.55},"statements":{"total":228,"covered":200,"skipped":0,"pct":87.71},"branches":{"total":56,"covered":44,"skipped":0,"pct":78.57}}
|
|
34
34
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
35
35
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/singly-linked-list.ts": {"lines":{"total":184,"covered":165,"skipped":0,"pct":89.67},"functions":{"total":33,"covered":29,"skipped":0,"pct":87.87},"statements":{"total":195,"covered":174,"skipped":0,"pct":89.23},"branches":{"total":43,"covered":34,"skipped":0,"pct":79.06}}
|
|
36
36
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/skip-linked-list.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
37
37
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
38
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix.ts": {"lines":{"total":4,"covered":
|
|
39
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix2d.ts": {"lines":{"total":
|
|
40
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/navigator.ts": {"lines":{"total":45,"covered":
|
|
41
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/vector2d.ts": {"lines":{"total":47,"covered":
|
|
38
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
|
|
39
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix2d.ts": {"lines":{"total":49,"covered":33,"skipped":0,"pct":67.34},"functions":{"total":14,"covered":9,"skipped":0,"pct":64.28},"statements":{"total":58,"covered":42,"skipped":0,"pct":72.41},"branches":{"total":4,"covered":3,"skipped":0,"pct":75}}
|
|
40
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/navigator.ts": {"lines":{"total":45,"covered":31,"skipped":0,"pct":68.88},"functions":{"total":6,"covered":5,"skipped":0,"pct":83.33},"statements":{"total":48,"covered":33,"skipped":0,"pct":68.75},"branches":{"total":21,"covered":12,"skipped":0,"pct":57.14}}
|
|
41
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/vector2d.ts": {"lines":{"total":47,"covered":5,"skipped":0,"pct":10.63},"functions":{"total":23,"covered":0,"skipped":0,"pct":0},"statements":{"total":47,"covered":5,"skipped":0,"pct":10.63},"branches":{"total":16,"covered":1,"skipped":0,"pct":6.25}}
|
|
42
42
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
43
43
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/max-priority-queue.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":12,"covered":11,"skipped":0,"pct":91.66}}
|
|
44
44
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/min-priority-queue.ts": {"lines":{"total":12,"covered":6,"skipped":0,"pct":50},"functions":{"total":4,"covered":2,"skipped":0,"pct":50},"statements":{"total":12,"covered":6,"skipped":0,"pct":50},"branches":{"total":12,"covered":4,"skipped":0,"pct":33.33}}
|
|
45
45
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/priority-queue.ts": {"lines":{"total":94,"covered":90,"skipped":0,"pct":95.74},"functions":{"total":31,"covered":30,"skipped":0,"pct":96.77},"statements":{"total":98,"covered":94,"skipped":0,"pct":95.91},"branches":{"total":70,"covered":62,"skipped":0,"pct":88.57}}
|
|
46
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/deque.ts": {"lines":{"total":63,"covered":
|
|
46
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/deque.ts": {"lines":{"total":63,"covered":45,"skipped":0,"pct":71.42},"functions":{"total":32,"covered":18,"skipped":0,"pct":56.25},"statements":{"total":68,"covered":48,"skipped":0,"pct":70.58},"branches":{"total":31,"covered":18,"skipped":0,"pct":58.06}}
|
|
47
47
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
48
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/queue.ts": {"lines":{"total":35,"covered":
|
|
48
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/queue.ts": {"lines":{"total":35,"covered":33,"skipped":0,"pct":94.28},"functions":{"total":22,"covered":20,"skipped":0,"pct":90.9},"statements":{"total":37,"covered":35,"skipped":0,"pct":94.59},"branches":{"total":12,"covered":11,"skipped":0,"pct":91.66}}
|
|
49
49
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/stack/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
50
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/stack/stack.ts": {"lines":{"total":14,"covered":
|
|
50
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/stack/stack.ts": {"lines":{"total":14,"covered":13,"skipped":0,"pct":92.85},"functions":{"total":10,"covered":9,"skipped":0,"pct":90},"statements":{"total":16,"covered":14,"skipped":0,"pct":87.5},"branches":{"total":6,"covered":4,"skipped":0,"pct":66.66}}
|
|
51
51
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/tree/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
52
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/tree/tree.ts": {"lines":{"total":27,"covered":
|
|
52
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/tree/tree.ts": {"lines":{"total":27,"covered":23,"skipped":0,"pct":85.18},"functions":{"total":10,"covered":8,"skipped":0,"pct":80},"statements":{"total":29,"covered":25,"skipped":0,"pct":86.2},"branches":{"total":10,"covered":7,"skipped":0,"pct":70}}
|
|
53
53
|
,"/Users/revone/projects/data-structure-typed/src/data-structures/trie/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
54
|
-
,"/Users/revone/projects/data-structure-typed/src/data-structures/trie/trie.ts": {"lines":{"total":96,"covered":
|
|
54
|
+
,"/Users/revone/projects/data-structure-typed/src/data-structures/trie/trie.ts": {"lines":{"total":96,"covered":85,"skipped":0,"pct":88.54},"functions":{"total":22,"covered":19,"skipped":0,"pct":86.36},"statements":{"total":105,"covered":94,"skipped":0,"pct":89.52},"branches":{"total":32,"covered":27,"skipped":0,"pct":84.37}}
|
|
55
55
|
,"/Users/revone/projects/data-structure-typed/src/interfaces/index.ts": {"lines":{"total":15,"covered":15,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":15,"covered":15,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
56
56
|
,"/Users/revone/projects/data-structure-typed/src/types/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
|
|
57
57
|
,"/Users/revone/projects/data-structure-typed/src/types/data-structures/abstract-binary-tree.ts": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
|
|
@@ -138,7 +138,6 @@ var AbstractBinaryTree = (function () {
|
|
|
138
138
|
this._visitedId = [];
|
|
139
139
|
this._visitedVal = [];
|
|
140
140
|
this._visitedNode = [];
|
|
141
|
-
this._visitedLeftSum = [];
|
|
142
141
|
if (options !== undefined) {
|
|
143
142
|
var _a = options.loopType, loopType = _a === void 0 ? types_1.LoopType.ITERATIVE : _a;
|
|
144
143
|
this._loopType = loopType;
|
|
@@ -187,13 +186,6 @@ var AbstractBinaryTree = (function () {
|
|
|
187
186
|
enumerable: false,
|
|
188
187
|
configurable: true
|
|
189
188
|
});
|
|
190
|
-
Object.defineProperty(AbstractBinaryTree.prototype, "visitedLeftSum", {
|
|
191
|
-
get: function () {
|
|
192
|
-
return this._visitedLeftSum;
|
|
193
|
-
},
|
|
194
|
-
enumerable: false,
|
|
195
|
-
configurable: true
|
|
196
|
-
});
|
|
197
189
|
AbstractBinaryTree.prototype.swapLocation = function (srcNode, destNode) {
|
|
198
190
|
var id = destNode.id, val = destNode.val, height = destNode.height;
|
|
199
191
|
var tempNode = this.createNode(id, val);
|
|
@@ -294,10 +286,7 @@ var AbstractBinaryTree = (function () {
|
|
|
294
286
|
this.clear();
|
|
295
287
|
return idsOrNodes.length === this.addMany(idsOrNodes, data).length;
|
|
296
288
|
};
|
|
297
|
-
AbstractBinaryTree.prototype.remove = function (nodeOrId
|
|
298
|
-
isUpdateAllLeftSum = isUpdateAllLeftSum === undefined ? true : isUpdateAllLeftSum;
|
|
299
|
-
if (isUpdateAllLeftSum) {
|
|
300
|
-
}
|
|
289
|
+
AbstractBinaryTree.prototype.remove = function (nodeOrId) {
|
|
301
290
|
var bstDeletedResult = [];
|
|
302
291
|
if (!this.root)
|
|
303
292
|
return bstDeletedResult;
|
|
@@ -958,9 +947,6 @@ var AbstractBinaryTree = (function () {
|
|
|
958
947
|
AbstractBinaryTree.prototype._setVisitedNode = function (value) {
|
|
959
948
|
this._visitedNode = value;
|
|
960
949
|
};
|
|
961
|
-
AbstractBinaryTree.prototype._setVisitedLeftSum = function (value) {
|
|
962
|
-
this._visitedLeftSum = value;
|
|
963
|
-
};
|
|
964
950
|
AbstractBinaryTree.prototype._setRoot = function (v) {
|
|
965
951
|
if (v) {
|
|
966
952
|
v.parent = undefined;
|
|
@@ -974,7 +960,6 @@ var AbstractBinaryTree = (function () {
|
|
|
974
960
|
this._visitedId = [];
|
|
975
961
|
this._visitedVal = [];
|
|
976
962
|
this._visitedNode = [];
|
|
977
|
-
this._visitedLeftSum = [];
|
|
978
963
|
};
|
|
979
964
|
AbstractBinaryTree.prototype._pushByPropertyNameStopOrNot = function (cur, result, nodeProperty, propertyName, onlyOne) {
|
|
980
965
|
switch (propertyName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-binary-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/abstract-binary-tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract-binary-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/abstract-binary-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,9 +50,9 @@ var AVLTree = (function (_super) {
|
|
|
50
50
|
this._balancePath(inserted);
|
|
51
51
|
return inserted;
|
|
52
52
|
};
|
|
53
|
-
AVLTree.prototype.remove = function (id
|
|
53
|
+
AVLTree.prototype.remove = function (id) {
|
|
54
54
|
var e_1, _a;
|
|
55
|
-
var deletedResults = _super.prototype.remove.call(this, id
|
|
55
|
+
var deletedResults = _super.prototype.remove.call(this, id);
|
|
56
56
|
try {
|
|
57
57
|
for (var deletedResults_1 = __values(deletedResults), deletedResults_1_1 = deletedResults_1.next(); !deletedResults_1_1.done; deletedResults_1_1 = deletedResults_1.next()) {
|
|
58
58
|
var needBalanced = deletedResults_1_1.value.needBalanced;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avl-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/avl-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,6BAAmC;AAInC;IACU,+BAAoB;IAG5B,qBAAY,EAAoB,EAAE,GAAO;eACvC,kBAAM,EAAE,EAAE,GAAG,CAAC;IAChB,CAAC;IACH,kBAAC;AAAD,CAAC,AAPD,CACU,aAAO,GAMhB;AAPY,kCAAW;AASxB;IAA+E,2BAAM;IAOnF,iBAAY,OAAwB;eAClC,kBAAM,OAAO,CAAC;IAChB,CAAC;IAUQ,4BAAU,GAAnB,UAAoB,EAAoB,EAAE,GAAc;QACtD,OAAO,IAAI,WAAW,CAAc,EAAE,EAAE,GAAG,CAAM,CAAC;IACpD,CAAC;IASQ,qBAAG,GAAZ,UAAa,EAAoB,EAAE,GAAc;QAE/C,IAAM,QAAQ,GAAG,iBAAM,GAAG,YAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,QAAQ;YAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"avl-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/avl-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,9 @@ var types_1 = require("../../types");
|
|
|
20
20
|
var bst_1 = require("./bst");
|
|
21
21
|
var RBTreeNode = (function (_super) {
|
|
22
22
|
__extends(RBTreeNode, _super);
|
|
23
|
-
function RBTreeNode(id, val
|
|
24
|
-
if (color === void 0) { color = types_1.RBColor.RED; }
|
|
23
|
+
function RBTreeNode(id, val) {
|
|
25
24
|
var _this = _super.call(this, id, val) || this;
|
|
26
|
-
_this._color =
|
|
25
|
+
_this._color = types_1.RBColor.RED;
|
|
27
26
|
return _this;
|
|
28
27
|
}
|
|
29
28
|
Object.defineProperty(RBTreeNode.prototype, "color", {
|
|
@@ -45,7 +44,7 @@ var RBTree = (function (_super) {
|
|
|
45
44
|
return _super.call(this, options) || this;
|
|
46
45
|
}
|
|
47
46
|
RBTree.prototype.createNode = function (id, val) {
|
|
48
|
-
return new RBTreeNode(id, val
|
|
47
|
+
return new RBTreeNode(id, val);
|
|
49
48
|
};
|
|
50
49
|
return RBTree;
|
|
51
50
|
}(bst_1.BST));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAuF;AAEvF,6BAAmC;AAEnC;IACU,8BAAoB;
|
|
1
|
+
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAuF;AAEvF,6BAAmC;AAEnC;IACU,8BAAoB;IAK5B,oBAAY,EAAoB,EAAE,GAAO;QAAzC,YACE,kBAAM,EAAE,EAAE,GAAG,CAAC,SAEf;QADC,KAAI,CAAC,MAAM,GAAG,eAAO,CAAC,GAAG,CAAC;;IAC5B,CAAC;IAED,sBAAI,6BAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAED,UAAU,KAAc;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;;;OAJA;IAKH,iBAAC;AAAD,CAAC,AAlBD,CACU,aAAO,GAiBhB;AAlBY,gCAAU;AAoBvB;IAA4E,0BAAM;IAChF,gBAAY,OAAuB;eACjC,kBAAM,OAAO,CAAC;IAChB,CAAC;IAEQ,2BAAU,GAAnB,UAAoB,EAAoB,EAAE,GAAc;QACtD,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAM,CAAC;IACtC,CAAC;IA8UH,aAAC;AAAD,CAAC,AArVD,CAA4E,SAAG,GAqV9E;AArVY,wBAAM"}
|
|
@@ -440,10 +440,10 @@ var AbstractGraph = (function () {
|
|
|
440
440
|
var vertexOrId = vertex[1];
|
|
441
441
|
if (vertexOrId instanceof AbstractVertex) {
|
|
442
442
|
var path = [vertexOrId];
|
|
443
|
-
var
|
|
444
|
-
while (
|
|
445
|
-
path.push(
|
|
446
|
-
|
|
443
|
+
var parent = preMap.get(vertexOrId);
|
|
444
|
+
while (parent) {
|
|
445
|
+
path.push(parent);
|
|
446
|
+
parent = preMap.get(parent);
|
|
447
447
|
}
|
|
448
448
|
var reversed = path.reverse();
|
|
449
449
|
if (vertex[1] === minV)
|
|
@@ -564,10 +564,10 @@ var AbstractGraph = (function () {
|
|
|
564
564
|
var vertexOrId = vertex[1];
|
|
565
565
|
if (vertexOrId instanceof AbstractVertex) {
|
|
566
566
|
var path = [vertexOrId];
|
|
567
|
-
var
|
|
568
|
-
while (
|
|
569
|
-
path.push(
|
|
570
|
-
|
|
567
|
+
var parent = preMap.get(vertexOrId);
|
|
568
|
+
while (parent) {
|
|
569
|
+
path.push(parent);
|
|
570
|
+
parent = preMap.get(parent);
|
|
571
571
|
}
|
|
572
572
|
var reversed = path.reverse();
|
|
573
573
|
if (vertex[1] === minV)
|
|
@@ -706,10 +706,10 @@ var AbstractGraph = (function () {
|
|
|
706
706
|
var vertexOrId = vertex[1];
|
|
707
707
|
if (vertexOrId instanceof AbstractVertex) {
|
|
708
708
|
var path = [vertexOrId];
|
|
709
|
-
var
|
|
710
|
-
while (
|
|
711
|
-
path.push(
|
|
712
|
-
|
|
709
|
+
var parent = preMap.get(vertexOrId);
|
|
710
|
+
while (parent !== undefined) {
|
|
711
|
+
path.push(parent);
|
|
712
|
+
parent = preMap.get(parent);
|
|
713
713
|
}
|
|
714
714
|
var reversed = path.reverse();
|
|
715
715
|
if (vertex[1] === minDest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
|