Revone
|
bbfa64fc64
|
fix: Fix the bug in the getCycles method. refactor: Rename some variables.
|
2023-12-19 12:15:44 +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
|
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
|
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
|
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
|
a0a9ed2f50
|
docs: Chinese version README.md
|
2023-12-07 11:40:01 +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
|
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
|
8a24a6d7a4
|
refactor: The binary tree data structure supports custom types for keys
|
2023-12-04 21:58:41 +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
|
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
|
fe0e390b2b
|
fix: ci type error fixed
|
2023-11-27 13:59:26 +08:00 |
|
Revone
|
20550fb718
|
feat: Implement the [Symbol.iterator], forEach, filter, map, and reduce methods for Graph, specifically targeting the nodes. fix: type error fixed
|
2023-11-27 11:24:23 +08:00 |
|
Revone
|
a71b223226
|
docs: Add print results for free conversion between data structures.
|
2023-11-27 10:12:15 +08:00 |
|
Revone
|
6694f98e67
|
refactor: In SegmentTree data structure, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist.
|
2023-11-27 09:42:49 +08:00 |
|
Revone
|
86200435e8
|
refactor: In Stack data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist.
|
2023-11-27 09:38:03 +08:00 |
|
Revone
|
e89509eb34
|
refactor: In Linked List data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist.
|
2023-11-27 09:31:11 +08:00 |
|
Revone
|
7da4f8add9
|
fix: In Graph data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist.
|
2023-11-26 20:13:34 +08:00 |
|
Revone
|
f3df66eef3
|
refactor: In Graph data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist.
|
2023-11-26 20:11:29 +08:00 |
|
Revone
|
3dc0454c24
|
docs: Integration tests and documentation for free conversion between data structures.
|
2023-11-25 22:49:54 +08:00 |
|
Revone
|
f9f9df81f5
|
feat: Perfectly implement fast conversion between data structures. Implement a getter size for Trie. docs: Add comments to the 'add' and 'addMany' methods of all binary tree data structures.
|
2023-11-25 22:32:09 +08:00 |
|
Revone
|
76db084bda
|
refactor: Explicitly call the super.addMany method. chore: reformat project configs
|
2023-11-25 20:59:34 +08:00 |
|
Revone
|
b099b759e8
|
refactor: The strategy of all binary tree data structures is to replace a node only when the same node is added.
|
2023-11-25 20:40:11 +08:00 |
|
Revone
|
18b895cb4c
|
refactor: The parameters for the add and addMany methods in all binary tree data structures have been changed to the entry style, and the first test has passed.
|
2023-11-25 14:38:32 +08:00 |
|
Revone
|
451f6c5e31
|
release: 1.47.6
|
2023-11-24 08:49:18 +08:00 |
|
Revone
|
4930f87bcd
|
feat: Add an 'elements' parameter to the constructors of all binary tree data structures to accept Iterable types.
|
2023-11-23 21:43:45 +08:00 |
|
Revone
|
8f9eb82bfd
|
feat: To support conversion between data structures, Heap, PriorityQueue, Queue, Deque, SinglyLinkedList, DoublyLinkedList, and Stack have all added an 'elements' parameter for initializing the elements of the data structure.
|
2023-11-23 18:40:30 +08:00 |
|
Revone
|
5cf88d098e
|
feat: All data structures except Graph have implemented *[Symbol.iterator], forEach, filter, map, reduce methods.
|
2023-11-23 13:19:13 +08:00 |
|
Revone
|
9a430fdbc6
|
docs: Binary Tree print method
|
2023-11-22 21:29:44 +08:00 |
|
Revone
|
a41e222481
|
feat: Implement forEach, filter, map, reduce, and [Symbol.iterator] methods for all binary tree data structures
|
2023-11-22 17:18:37 +08:00 |
|
Revone
|
01b969edca
|
refactor: rename NIL of RedBlackTree to Sentinel
|
2023-11-21 17:44:22 +08:00 |
|
Revone
|
54c74f9af6
|
feat: The print method supports switches for empty nodes and guardian nodes. refactor: It eliminates some unnecessary type definitions.
|
2023-11-21 17:30:57 +08:00 |
|
Revone
|
7e3aeb8d2a
|
chore: reformat codebase
|
2023-11-20 19:27:25 +08:00 |
|
Revone
|
d6e186a884
|
chore: To avoid sacrificing performance, UMD modules use ES6 style.
|
2023-11-20 19:24:53 +08:00 |
|
Revone
|
92552da31c
|
fix: binary tree print bug fixed. test: integration test of rb-tree
|
2023-11-20 17:30:55 +08:00 |
|
Revone
|
5eaf1d6aab
|
fix: Ignore inserting the duplicate into RedBlackTree. refactor: renamed the helpers to common
|
2023-11-20 16:15:49 +08:00 |
|
Revone
|
7c6e5d3b1c
|
refactor: HashMap supports custom hash functions.
|
2023-11-20 13:03:39 +08:00 |
|
Revone
|
1e2013df5e
|
refactor: Eliminate unnecessary data structures. test: Add performance comparison tests with native Map and Set.
|
2023-11-20 09:51:34 +08:00 |
|
Revone
|
b7357def44
|
test: HashMap test case conducted on million data
|
2023-11-19 21:30:17 +08:00 |
|
Revone
|
cbf1d05064
|
refacor: If individual performance test, not to replace content in README.md
|
2023-11-19 21:26:04 +08:00 |
|
Revone
|
b4e89d9f72
|
refactor: Discard the unnecessary Iterator class in Deque and HashMap, and instead implement using Generators.
|
2023-11-19 21:09:44 +08:00 |
|
Revone
|
b089cf47b3
|
refactor: In the Deque data structure, abandon the Iterator class and implement using a Generator instead.
|
2023-11-19 20:48:53 +08:00 |
|
Revone
|
2634c99388
|
feat: high-performance Deque implemented
|
2023-11-17 22:37:35 +08:00 |
|
Revone
|
d761e79e4d
|
fix: Bug fix for 'resize', 'insertAt', and 'deleteAt'.
|
2023-11-17 18:44:14 +08:00 |
|
Revone
|
e7be7b559d
|
feat: Implemented Deque independently and conducted performance tests, and eliminated the redundant data structure ArrayDeque. Add performance test cases for DoublyLinkedList.
|
2023-11-17 16:11:31 +08:00 |
|
Revone
|
fa92ddfdaa
|
perf: Implemented a high-performance Heap. docs: Software Engineering Standard Form.
|
2023-11-17 10:47:13 +08:00 |
|
Revone
|
2b7bf3ce95
|
feat: The performance report generator supports parameter filtering commands, which can be used to run specific tests individually. It generates individual performance comparison reports. Enrich the COMMANDS.md document.
|
2023-11-16 21:08:57 +08:00 |
|
Revone
|
f9b6f313c6
|
feat: The performance report generator supports parameter filtering commands, which can be used to run specific tests individually. It generates individual performance comparison reports. Enrich the COMMANDS.md document.
|
2023-11-16 21:07:00 +08:00 |
|
Revone
|
be6ad5473b
|
style: Change ESLint configuration from error type to warning type. Format the code.
|
2023-11-16 11:55:40 +08:00 |
|
Revone
|
dd2701dab7
|
style: reformated codebase
|
2023-11-16 10:14:14 +08:00 |
|
Revone
|
bac0964ac2
|
fix: Implemented a high-performance HashMap comparable to the native Map. All test cases are standardized using 'it' instead of 'test'. Enabled tsconfig's sourceMap configuration for correct line numbers in IDE testing.
|
2023-11-15 23:17:55 +08:00 |
|
Revone
|
d71a1eb2bc
|
fix: Removed unused enums. style: Beautified text color output of the performance report generator console.
|
2023-11-14 21:41:20 +08:00 |
|
Revone
|
8f1f6d6f52
|
style: Try to synchronize Prettier with the coding style of the IDE.
|
2023-11-13 22:27:29 +08:00 |
|
Revone
|
1064ad4a58
|
style: reformat code with IDE
|
2023-11-13 13:07:28 +08:00 |
|
Revone
|
55ddc661eb
|
test: Compare performance with other libraries.
|
2023-11-13 12:50:33 +08:00 |
|
Revone
|
649101ebe0
|
release: v 1.43.1
|
2023-11-13 00:03:42 +08:00 |
|
Revone
|
c985317259
|
test: Added a switch to control whether to test the performance of competitors.
|
2023-11-11 09:59:11 +08:00 |
|
Revone
|
7bcb0ba843
|
test: Competitor Performance Comparison Test
|
2023-11-11 00:17:50 +08:00 |
|
Revone
|
a1cfac93da
|
test: Testing coverage has increased to 91.2%.
|
2023-11-10 23:44:24 +08:00 |
|
Revone
|
cef8b04a9f
|
chore: Add comments for the time and space complexity of all methods for the BinaryTree.
|
2023-11-10 11:01:49 +08:00 |
|
Revone
|
c2c7011e15
|
refactor: Unified API parameters, streamline syntax, exclude methods already present in the parent class.
|
2023-11-09 20:25:54 +08:00 |
|
Revone
|
000efa749d
|
docs: Conventional Commits of CONTRIBUTING.md, Built-in classic algorithms enriched
|
2023-11-08 20:25:02 +08:00 |
|
Revone
|
50d1a168e7
|
[perf] renamed tree-multiset to tree-multimap
|
2023-11-08 09:26:43 +08:00 |
|
Revone
|
c509a2d640
|
[test] trying to test RedBlackTree
|
2023-11-07 20:08:16 +08:00 |
|
Revone
|
57a95e94db
|
[rb-tree] The red-black tree has been perfectly implemented and inherits from a BST. It has also passed a certain level of testing. [binary-tree] All traversal methods are compatible with sentinel nodes in the red-black tree.
|
2023-11-07 19:57:35 +08:00 |
|
Revone
|
b78d92fcd1
|
[binary-tree] Move the print method inside BinaryTree. [rb-tree] Replace sentinel nodes with NaN. [bst] Replace all direct assignments to _root with calls to the _setRoot method.
|
2023-11-07 17:41:51 +08:00 |
|
Revone
|
ea89c0278b
|
[rb-tree] RedBlackTree has inherited from BST and implemented it perfectly.
|
2023-11-07 17:02:35 +08:00 |
|
Revone
|
120b5e6bc2
|
[rb-tree] Change the default type of home nodes to 'undefined' and pass the test of adding and deleting 100,000 data records.
|
2023-11-07 16:27:24 +08:00 |
|
Revone
|
996fd128ed
|
[binary-tree] Perfectly solved the null problem, in BST, AVLTree, and TreeMultiset, only 'undefined' is used as the empty node.
|
2023-11-07 12:26:16 +08:00 |
|
Revone
|
8a518f95b7
|
[project] codebase reformated
|
2023-11-06 19:44:01 +08:00 |
|
Revone
|
be38422de9
|
[test] null should be ignored in travesal method in BST
|
2023-11-06 19:36:09 +08:00 |
|
Revone
|
25b9e1e9e4
|
[graph] To facilitate users who are not familiar with the Tarjan algorithm, provide the following methods: getCycles, getSCCs, getBridges, getCutVertexes, getDFNMap, and getLowMap.
|
2023-11-06 14:47:00 +08:00 |
|
Revone
|
f15792c529
|
[project] tables optimization of README.md
|
2023-11-06 11:01:32 +08:00 |
|
Revone
|
d6b394446a
|
[binary-tree] All traversal methods offer an includeNull parameter to support the output of null nodes.
|
2023-11-05 21:19:59 +08:00 |
|
Revone
|
3596ca53a7
|
[graph] test case refined
|
2023-11-04 21:37:41 +08:00 |
|
Revone
|
62e55b84bd
|
[graph] The getAllPathsBetween method in the [graph] provides a 'limit' parameter to control this exponential time complexity method from entering into a deadlock state. The getMinPathsBetween method, by default, calls the Dijkstra method to avoid invoking the excessively high time complexity method, getAllPathsBetween.
|
2023-11-04 21:23:02 +08:00 |
|
Revone
|
5af93dda72
|
[benchmark] Determine the order of magnitude for most performance tests. Report metric reductions.
|
2023-11-04 17:28:52 +08:00 |
|
Revone
|
025a90a145
|
[graph] use 'Set' in dfs instead of 'Map'
|
2023-11-04 15:47:24 +08:00 |
|
Revone
|
0ecc163944
|
[project] Replace the performance test report in README.md every time instead of inserting incrementally.
|
2023-11-04 10:19:09 +08:00 |
|
Revone
|
24a961f692
|
[BST, AVL] The 'get' method follows the binary search of a BST for bug fixes during queries. [Project] The editor uses 'tsconfig.json' for code checking to be compatible with the 'test' directory, but compiles using their respective configuration files.
|
2023-11-04 10:00:51 +08:00 |
|
Revone
|
bd2ecc5699
|
[benchmark] enriched the utils of performance test. enriched the performance test cases
|
2023-11-04 01:21:30 +08:00 |
|
Revone
|
4614773413
|
[binary-tree] Merge the operation of modifying the value into the insert query process to improve performance. [benchmark] Enhance performance test cases and move existing performance tests from unit tests to the 'performance' section. Improve the benchmark test report. Refine the logic of the report generator.
|
2023-11-02 21:38:10 +08:00 |
|
Revone
|
9a87fe13b6
|
[benchmark] beautiful report
|
2023-11-02 16:10:41 +08:00 |
|
Revone
|
f0777567f2
|
[project] remove the unnecessary pkg underscore
|
2023-11-02 11:57:20 +08:00 |
|
Revone
|
ca013f019f
|
[benchmark] pretty html report for benchmark test
|
2023-11-02 11:38:29 +08:00 |
|
Revone
|
9f2f0fca29
|
[benchmark] generated a performance testing report.
|
2023-11-02 09:24:06 +08:00 |
|
Revone
|
68aa49f9b1
|
[project] Decouple integration testing from the CI workflow.
|
2023-11-01 18:19:49 +08:00 |
|
Revone
|
e9f2359365
|
[binary-tree] Let the get method call getNode instead of getNodes. [rbtree] Use rigorous testing to verify that the properties of nodes in a red-black tree adhere to the red-black tree rules after insertion and deletion.
|
2023-11-01 17:51:38 +08:00 |
|