Commit graph

545 commits

Author SHA1 Message Date
Revone
d57d6072c2 fix: Fix bug in BST.isBST to make it compatible with inverse BST.
refactor: Use KeyOrNodeOrEntry as the parameter type consistently in the binary tree data structure.
test: Remove unnecessary performance reports and refactor loop code to use single lines wherever possible.
2023-12-23 11:53:18 +08:00
Revone
677340e99c refactor: Remove isSubtreeBST; using isBST alone is sufficient. Update BSTVariant to use STANDARD and INVERSE instead of MIN and MAX.
feat: Enhance isBST to support the detection of inverse binary search trees.
2023-12-23 09:41:04 +08:00
Revone
0708509f3e release: 1.49.5 2023-12-22 20:04:08 +08:00
Revone
2247316d16 refactor: Remove the _addTo method from BinaryTree and TreeMultiMap.
feat: Reimplement Matrix.
docs: Use typedoc.json configuration to only output class documentation.
2023-12-22 19:59:38 +08:00
Revone
dc6ef95f78 style: code base reformat 2023-12-21 10:26:45 +08:00
Revone
bc000105d8 release: 1.49.4 2023-12-21 10:08:59 +08:00
Revone
c3db558607 Refactor: The default callback function now supports returning values for null and undefined nodes with undefined keys. The deleteVertex method in AbstractGraph has been made abstract. Unnecessary magnitude variables have been removed from the magnitude function. fix: In directed and undirected graphs, the deleteVertex method now removes edges from adjacent nodes when deleting a vertex. 2023-12-21 10:01:04 +08:00
Revone
bbfa64fc64 fix: Fix the bug in the getCycles method. refactor: Rename some variables. 2023-12-19 12:15:44 +08:00
Revone
6ceaf21fba release: 1.49.2 2023-12-15 09:53:59 +08:00
Revone
3e97e806ba refactor: Unify the return types of all methods and align them with Java, extract the print and hasValue methods to base class. This will make the code more consistent and easier to understand. 2023-12-12 21:14:17 +08:00
Revone
61369adbdd test: Refine the test cases. 2023-12-12 10:13:34 +08:00
Revone
4d88405ac1 release: 1.49.1 2023-12-12 10:05:36 +08:00
Revone
e113a99b26 fix: bug fixed #58, DirectedGraph.getCycles returns an inexisting cycle. feat: hasValue method for HashMap. 2023-12-12 09:57:30 +08:00
Revone
f0927e8b0a docs: Wrote a feature description for each data structure. refactor: Standardize the import of all types and objects 2023-12-11 20:27:05 +08:00
Revone
60a3154178 refactor: Differentiate between type imports and regular object imports. 2023-12-11 14:14:46 +08:00
Revone
9d4228c9fe refactor: Represent the optional parameters in the dijkstraWithoutHeap and dijkstra methods using default arguments. Use the Heap data structure instead of PriorityQueue. 2023-12-11 09:41:24 +08:00
Revone
1fc47918d2 refactor: Add an isNotNodeInstance method to every binary tree data structure to prevent node type errors. The getSuccessor method of Red-Black trees uniformly utilizes the getSuccessor method from BinaryTree. 2023-12-11 09:02:26 +08:00
Revone
26208e9157 release: 1.48.9 2023-12-08 20:03:48 +08:00
Revone
93201bddba perf: The add method of BinaryTree doesn't need to check for existence first, it can detect and add in a single traversal. Feat: Discard the ObjectDeque data structure. test: Increased test coverage for Deque and Queue. 2023-12-08 19:54:13 +08:00
Revone
c3b79b70f6 docs: Add a GITHUB stars badge. Adjust the order of the table. Test: Specify the type of binary tree constructor. 2023-12-08 10:07:51 +08:00
Revone
7270a27425 docs: Benchmarking metrics compared to native JavaScript 2023-12-08 09:15:29 +08:00
Revone
e167771620 docs: Benchmarking metrics compared to native JavaScript 2023-12-08 09:04:49 +08:00
Revone
a02a9a94d2 refactor: Rewrite the lastKey method. The BinaryTree.add method filters out duplicate additions. Rename popLast and popFirst to pollLast and pollFirst. 2023-12-07 19:34:20 +08:00
Revone
aff29b3568 docs: Why use our data structures. 2023-12-07 15:37:50 +08:00
Revone
d038e03ef2 docs: Chinese version README.md 2023-12-07 14:03:58 +08:00
Revone
3cd5316f2a docs: Chinese version README.md 2023-12-07 11:40:36 +08:00
Revone
a0a9ed2f50 docs: Chinese version README.md 2023-12-07 11:40:01 +08:00
Revone
c92e1974fe docs: Reorganize the correspondence of data structures in different languages once again. 2023-12-07 10:47:50 +08:00
Revone
1c8324147f feat: The addMany method in binary tree data structures supports both addMany(keys, values) and addMany(entries). 2023-12-07 10:19:17 +08:00
Revone
7ddad8eb65 docs: add methods for Binary Tree data structures 2023-12-07 09:21:56 +08:00
Revone
e6ca052093 release: 1.48.5 2023-12-07 09:17:16 +08:00
Revone
1b1d5c6669 feat: The add method of the binary tree is compatible with the multi-parameter mode of add(key, value), and it is also compatible with the entry method. 2023-12-07 09:16:25 +08:00
Revone
f56542a07a refactor: renamed variables 2023-12-06 11:32:04 +08:00
Revone
ce99f7988e release: 1.48.4 2023-12-06 10:42:12 +08:00
Revone
6cc250606b fix: bug fix for #51 . Removing a vertex from a DirectedGraph doesn't remove it's edges 2023-12-06 10:36:00 +08:00
Revone
241cb26a6f fix: bug fix for #52 2023-12-06 09:18:23 +08:00
Revone
7365f661db docs: Snippets of TS 2023-12-04 22:09:09 +08:00
Revone
785e92a87f release: 1.48.3 2023-12-04 22:05:15 +08:00
Revone
8a24a6d7a4 refactor: The binary tree data structure supports custom types for keys 2023-12-04 21:58:41 +08:00
Revone
f24901de2a release: 1.48.2 2023-12-02 22:29:00 +08:00
Revone
2e26bc0fef docs: LinkedHashMap 2023-12-02 22:21:13 +08:00
Revone
7f5eb6cb70 refactor: Extract all methods such as 'some', 'every', 'entries', 'keys', 'values', 'forEach', 'reduce' into the base classes 'IterableElementBase' and 'IterablePairBase'. 2023-12-02 22:15:18 +08:00
Revone
40abf9a8c2 release 1.48.1 2023-11-30 11:41:09 +08:00
Revone
87ea490458 feat: print method has been added in HashMap. chore: reformated HashMap test. docs: high-performance HashMap benchmark 2023-11-30 10:20:12 +08:00
Revone
65949b7d19 feat: Reimplement a more efficient HashMap and correctly rename the original HashMap as LinkedHashMap. 2023-11-30 09:59:01 +08:00
Revone
9a9571431c feat: Add keys, values, and clone methods to all binary tree data structures. 2023-11-27 18:01:59 +08:00
Revone
523221357c fix: ci process dependency 2023-11-27 14:04:04 +08:00
Revone
fe0e390b2b fix: ci type error fixed 2023-11-27 13:59:26 +08:00
Revone
22fc90f221 release: 1.48.0 2023-11-27 13:42:56 +08:00
Revone
e1e672b3b5 refactor: Extract the isNode and exemplarToNode methods to achieve best practices. 2023-11-27 13:38:26 +08:00