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
|
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
|
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
|
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
|
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
|
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
|
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 |
|