data-structure-typed 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +6 -4
  3. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +11 -18
  4. package/dist/data-structures/binary-tree/abstract-binary-tree.js +52 -74
  5. package/dist/data-structures/binary-tree/tree-multiset.d.ts +6 -6
  6. package/dist/data-structures/binary-tree/tree-multiset.js +20 -28
  7. package/dist/data-structures/graph/abstract-graph.d.ts +3 -3
  8. package/dist/data-structures/graph/abstract-graph.js +6 -2
  9. package/dist/data-structures/graph/index.d.ts +1 -0
  10. package/dist/data-structures/graph/index.js +1 -0
  11. package/dist/data-structures/graph/map-graph.d.ts +79 -0
  12. package/dist/data-structures/graph/map-graph.js +111 -0
  13. package/dist/data-structures/interfaces/abstract-binary-tree.d.ts +0 -2
  14. package/dist/data-structures/tree/tree.d.ts +1 -1
  15. package/dist/data-structures/types/abstract-binary-tree.d.ts +0 -1
  16. package/dist/data-structures/types/abstract-graph.d.ts +1 -0
  17. package/dist/data-structures/types/index.d.ts +1 -0
  18. package/dist/data-structures/types/index.js +1 -0
  19. package/dist/data-structures/types/map-graph.d.ts +1 -0
  20. package/dist/data-structures/types/map-graph.js +2 -0
  21. package/dist/data-structures/types/tree-multiset.d.ts +1 -3
  22. package/package.json +1 -1
  23. package/src/data-structures/binary-tree/aa-tree.ts +0 -3
  24. package/src/data-structures/binary-tree/abstract-binary-tree.ts +0 -1479
  25. package/src/data-structures/binary-tree/avl-tree.ts +0 -301
  26. package/src/data-structures/binary-tree/b-tree.ts +0 -3
  27. package/src/data-structures/binary-tree/binary-indexed-tree.ts +0 -78
  28. package/src/data-structures/binary-tree/binary-tree.ts +0 -42
  29. package/src/data-structures/binary-tree/bst.ts +0 -438
  30. package/src/data-structures/binary-tree/index.ts +0 -12
  31. package/src/data-structures/binary-tree/rb-tree.ts +0 -102
  32. package/src/data-structures/binary-tree/segment-tree.ts +0 -243
  33. package/src/data-structures/binary-tree/splay-tree.ts +0 -3
  34. package/src/data-structures/binary-tree/tree-multiset.ts +0 -712
  35. package/src/data-structures/binary-tree/two-three-tree.ts +0 -3
  36. package/src/data-structures/diagrams/README.md +0 -5
  37. package/src/data-structures/graph/abstract-graph.ts +0 -1033
  38. package/src/data-structures/graph/directed-graph.ts +0 -472
  39. package/src/data-structures/graph/index.ts +0 -3
  40. package/src/data-structures/graph/undirected-graph.ts +0 -270
  41. package/src/data-structures/hash/coordinate-map.ts +0 -67
  42. package/src/data-structures/hash/coordinate-set.ts +0 -56
  43. package/src/data-structures/hash/hash-table.ts +0 -3
  44. package/src/data-structures/hash/index.ts +0 -6
  45. package/src/data-structures/hash/pair.ts +0 -3
  46. package/src/data-structures/hash/tree-map.ts +0 -3
  47. package/src/data-structures/hash/tree-set.ts +0 -3
  48. package/src/data-structures/heap/heap.ts +0 -200
  49. package/src/data-structures/heap/index.ts +0 -3
  50. package/src/data-structures/heap/max-heap.ts +0 -31
  51. package/src/data-structures/heap/min-heap.ts +0 -34
  52. package/src/data-structures/index.ts +0 -15
  53. package/src/data-structures/interfaces/abstract-binary-tree.ts +0 -194
  54. package/src/data-structures/interfaces/abstract-graph.ts +0 -40
  55. package/src/data-structures/interfaces/avl-tree.ts +0 -28
  56. package/src/data-structures/interfaces/binary-tree.ts +0 -8
  57. package/src/data-structures/interfaces/bst.ts +0 -32
  58. package/src/data-structures/interfaces/directed-graph.ts +0 -20
  59. package/src/data-structures/interfaces/doubly-linked-list.ts +0 -1
  60. package/src/data-structures/interfaces/heap.ts +0 -1
  61. package/src/data-structures/interfaces/index.ts +0 -15
  62. package/src/data-structures/interfaces/navigator.ts +0 -1
  63. package/src/data-structures/interfaces/priority-queue.ts +0 -1
  64. package/src/data-structures/interfaces/rb-tree.ts +0 -11
  65. package/src/data-structures/interfaces/segment-tree.ts +0 -1
  66. package/src/data-structures/interfaces/singly-linked-list.ts +0 -1
  67. package/src/data-structures/interfaces/tree-multiset.ts +0 -12
  68. package/src/data-structures/interfaces/undirected-graph.ts +0 -6
  69. package/src/data-structures/linked-list/doubly-linked-list.ts +0 -573
  70. package/src/data-structures/linked-list/index.ts +0 -3
  71. package/src/data-structures/linked-list/singly-linked-list.ts +0 -490
  72. package/src/data-structures/linked-list/skip-linked-list.ts +0 -3
  73. package/src/data-structures/matrix/index.ts +0 -4
  74. package/src/data-structures/matrix/matrix.ts +0 -27
  75. package/src/data-structures/matrix/matrix2d.ts +0 -208
  76. package/src/data-structures/matrix/navigator.ts +0 -122
  77. package/src/data-structures/matrix/vector2d.ts +0 -316
  78. package/src/data-structures/priority-queue/index.ts +0 -3
  79. package/src/data-structures/priority-queue/max-priority-queue.ts +0 -49
  80. package/src/data-structures/priority-queue/min-priority-queue.ts +0 -50
  81. package/src/data-structures/priority-queue/priority-queue.ts +0 -354
  82. package/src/data-structures/queue/deque.ts +0 -251
  83. package/src/data-structures/queue/index.ts +0 -2
  84. package/src/data-structures/queue/queue.ts +0 -120
  85. package/src/data-structures/stack/index.ts +0 -1
  86. package/src/data-structures/stack/stack.ts +0 -98
  87. package/src/data-structures/tree/index.ts +0 -1
  88. package/src/data-structures/tree/tree.ts +0 -69
  89. package/src/data-structures/trie/index.ts +0 -1
  90. package/src/data-structures/trie/trie.ts +0 -227
  91. package/src/data-structures/types/abstract-binary-tree.ts +0 -41
  92. package/src/data-structures/types/abstract-graph.ts +0 -5
  93. package/src/data-structures/types/avl-tree.ts +0 -5
  94. package/src/data-structures/types/binary-tree.ts +0 -9
  95. package/src/data-structures/types/bst.ts +0 -12
  96. package/src/data-structures/types/directed-graph.ts +0 -8
  97. package/src/data-structures/types/doubly-linked-list.ts +0 -1
  98. package/src/data-structures/types/heap.ts +0 -5
  99. package/src/data-structures/types/helpers.ts +0 -1
  100. package/src/data-structures/types/index.ts +0 -15
  101. package/src/data-structures/types/navigator.ts +0 -13
  102. package/src/data-structures/types/priority-queue.ts +0 -9
  103. package/src/data-structures/types/rb-tree.ts +0 -8
  104. package/src/data-structures/types/segment-tree.ts +0 -1
  105. package/src/data-structures/types/singly-linked-list.ts +0 -1
  106. package/src/data-structures/types/tree-multiset.ts +0 -8
  107. package/src/index.ts +0 -2
  108. package/src/utils/index.ts +0 -3
  109. package/src/utils/types/index.ts +0 -2
  110. package/src/utils/types/utils.ts +0 -6
  111. package/src/utils/types/validate-type.ts +0 -25
  112. package/src/utils/utils.ts +0 -78
  113. package/src/utils/validate-type.ts +0 -69
@@ -1,4 +1,4 @@
1
- export declare class TreeNode<T = number> {
1
+ export declare class TreeNode<T = any> {
2
2
  constructor(id: string, value?: T, children?: TreeNode<T>[]);
3
3
  private _id;
4
4
  get id(): string;
@@ -31,5 +31,4 @@ export type AbstractBinaryTreeNodeProperties<N extends AbstractBinaryTreeNode<N[
31
31
  export type AbstractBinaryTreeNodeNested<T> = AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, AbstractBinaryTreeNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
32
32
  export type AbstractBinaryTreeOptions = {
33
33
  loopType?: LoopType;
34
- isMergeDuplicatedNodeById?: boolean;
35
34
  };
@@ -2,6 +2,7 @@ export type VertexId = string | number;
2
2
  export type EdgeId = string;
3
3
  export type DijkstraResult<V> = {
4
4
  distMap: Map<V, number>;
5
+ distPaths?: Map<V, V[]>;
5
6
  preMap: Map<V, V | null>;
6
7
  seen: Set<V>;
7
8
  paths: V[][];
@@ -4,6 +4,7 @@ export * from './avl-tree';
4
4
  export * from './segment-tree';
5
5
  export * from './tree-multiset';
6
6
  export * from './abstract-graph';
7
+ export * from './map-graph';
7
8
  export * from './abstract-binary-tree';
8
9
  export * from './rb-tree';
9
10
  export * from './directed-graph';
@@ -20,6 +20,7 @@ __exportStar(require("./avl-tree"), exports);
20
20
  __exportStar(require("./segment-tree"), exports);
21
21
  __exportStar(require("./tree-multiset"), exports);
22
22
  __exportStar(require("./abstract-graph"), exports);
23
+ __exportStar(require("./map-graph"), exports);
23
24
  __exportStar(require("./abstract-binary-tree"), exports);
24
25
  __exportStar(require("./rb-tree"), exports);
25
26
  __exportStar(require("./directed-graph"), exports);
@@ -0,0 +1 @@
1
+ export type MapGraphCoordinate = [number, number];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,4 @@
1
1
  import { TreeMultisetNode } from '../binary-tree';
2
2
  import { AVLTreeOptions } from './avl-tree';
3
3
  export type TreeMultisetNodeNested<T> = TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
4
- export type TreeMultisetOptions = Omit<AVLTreeOptions, 'isMergeDuplicatedNodeById'> & {
5
- isMergeDuplicatedNodeById: true;
6
- };
4
+ export type TreeMultisetOptions = Omit<AVLTreeOptions, 'isMergeDuplicatedNodeById'> & {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "data-structure-typed",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "Javascript & TypeScript Data Structure Library, meticulously crafted to empower developers with a versatile set of essential data structures. Our library includes a wide range of data structures, such as Binary Tree, AVL Tree, Binary Search Tree (BST), Tree Multiset, Segment Tree, Binary Indexed Tree, Graph, Directed Graph, Undirected Graph, Singly Linked List, Hash, CoordinateSet, CoordinateMap, Heap, Doubly Linked List, Priority Queue, Max Priority Queue, Min Priority Queue, Queue, ObjectDeque, ArrayDeque, Stack, and Trie. Each data structure is thoughtfully designed and implemented using TypeScript to provide efficient, reliable, and easy-to-use solutions for your programming needs. Whether you're optimizing algorithms, managing data, or enhancing performance, our TypeScript Data Structure Library is your go-to resource. Elevate your coding experience with these fundamental building blocks for software development.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,3 +0,0 @@
1
- export class AaTree {
2
-
3
- }