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
|
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
|
7ddad8eb65
|
docs: add methods for Binary Tree data structures
|
2023-12-07 09:21:56 +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
|
e1e672b3b5
|
refactor: Extract the isNode and exemplarToNode methods to achieve best practices.
|
2023-11-27 13:38: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
|
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
|
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
|
982152abc0
|
fix: type fixed
|
2023-11-25 22:33:38 +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
|
cd14ec79ec
|
refactor: Use a type BTNExemplar to simplify the method parameters of binary tree data structures.
|
2023-11-24 09:58:10 +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
|
3205f90cf6
|
docs: Reorganize some content in the README
|
2023-11-22 19:00:06 +08:00 |
|
Revone
|
b53156fb48
|
fix: createTree return type check
|
2023-11-22 17:37:43 +08:00 |
|
Revone
|
edbbf4a951
|
fix: type check for 'typeof this' is not supported in TS 4.9.5
|
2023-11-22 17:31:51 +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
|
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
|
d3a6bdac25
|
fix: type error fixed. docs: Remove unnecessary 'Software Engineering Design Standards'.
|
2023-11-20 15:14:13 +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
|
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
|
6f74397f8d
|
fix: Iterator supports function length or function size
|
2023-11-19 09:04:48 +08:00 |
|
Revone
|
5c6803b1a9
|
docs: Deque docs enriched, big o notations
|
2023-11-19 08:56:37 +08:00 |
|