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
|
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
|
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
|
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
|
7e3aeb8d2a
|
chore: reformat codebase
|
2023-11-20 19:27:25 +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
|
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
|
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
|
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
|
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
|
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 |
|