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
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
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
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
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
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
c92e1974fe
docs: Reorganize the correspondence of data structures in different languages once again.
2023-12-07 10:47:50 +08:00
Revone
7365f661db
docs: Snippets of TS
2023-12-04 22:09:09 +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
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
e1e672b3b5
refactor: Extract the isNode and exemplarToNode methods to achieve best practices.
2023-11-27 13:38:26 +08:00
Revone
a71b223226
docs: Add print results for free conversion between data structures.
2023-11-27 10:12:15 +08:00
Revone
3dc0454c24
docs: Integration tests and documentation for free conversion between data structures.
2023-11-25 22:49:54 +08:00
Revone
76db084bda
refactor: Explicitly call the super.addMany method. chore: reformat project configs
2023-11-25 20:59:34 +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
9a430fdbc6
docs: Binary Tree print method
2023-11-22 21:29:44 +08:00
Revone
3205f90cf6
docs: Reorganize some content in the README
2023-11-22 19:00:06 +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
9ae8416df1
docs: Automate the writing of the table of contents for README.md. chore:Remove unused npm packages.
2023-11-21 14:16:06 +08:00
Revone
42345f813f
chore: Perfectly optimize keywords and project descriptions.
2023-11-21 11:02:10 +08:00
Revone
d6e186a884
chore: To avoid sacrificing performance, UMD modules use ES6 style.
2023-11-20 19:24:53 +08:00
Revone
d3a6bdac25
fix: type error fixed. docs: Remove unnecessary 'Software Engineering Design Standards'.
2023-11-20 15:14:13 +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
5c6803b1a9
docs: Deque docs enriched, big o notations
2023-11-19 08:56:37 +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
589dcbff35
docs: Add online algorithm visualization links.
2023-11-16 21:43:45 +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
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
65af9d6f20
docs: Added development umd module
2023-11-13 22:30:59 +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
cffe084c2b
docs: README.md modified
2023-11-10 23:50:57 +08:00
Revone
a1cfac93da
test: Testing coverage has increased to 91.2%.
2023-11-10 23:44:24 +08:00
Revone
fd416c5d6e
docs: Almost all methods of data structures have added comments on time and space complexity.
2023-11-10 16:24:24 +08:00
Revone
d682a609f9
release: v1.42.8
2023-11-09 20:48:06 +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
28207b6d45
perf: Unified all APIs, all parameters that accept node types can also accept node keys as parameters.
2023-11-09 17:47:02 +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
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
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
8acd2e3c9b
[docs] Remove the first column from the data structure comparison table in various programming languages.
2023-11-05 21:42:35 +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
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
0ab8054f52
[pkg] v1.41.5 published
2023-11-04 01:35:21 +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
c11cc4527b
[graph] The removal method in the graph data structure is standardized to 'delete'
2023-10-28 15:58:48 +08:00
Revone
f90afe0b57
[binary-tree] The binary tree's BFS and level-order traversal results should be the same. However, for convenience, we provide an additional method called listLevels to display traversal results in levels.
2023-10-27 22:30:52 +08:00
Revone
31c228668e
[optimization] allow all list datatype delete methods to accept null as an input argument
2023-10-26 16:45:08 +08:00
Revone
a6329163f7
1. No need for dfsIterative; integrate it directly into the dfs method. 2. Allow for public configuration of setLoopType. 3. Replace subTreeAdd with subTreeForeach for improved clarity and flexibility; provide a callback for enhanced versatility. 4. Standardize the naming of certain methods and parameters.
2023-10-21 20:03:54 +08:00
Revone
ba9cd51a6a
[project] enrich the scripts of ci
2023-10-19 09:21:00 +08:00
Revone
b10400e9c5
[pkg] v1.36.3 published
2023-10-17 23:52:24 +08:00
Revone
e96a4be5ea
[readme] Move all the badges to the top
2023-10-10 22:18:39 +08:00
Revone
f08819eb83
[core] In order to adhere to best practices, rename the DFS method and the BFS method as dfs and bfs.
2023-10-10 22:15:01 +08:00
Revone
0c5df67215
[readme] badages updated
2023-10-10 17:22:18 +08:00
Revone
092ac731b4
[pkg] v1.33.8 published
2023-10-05 10:37:42 +08:00
Revone
4365e5959f
[README] updated
2023-09-29 17:45:36 +08:00
Revone
1687f3cde8
[core] HashTable, HashMap, SkipList implemented
2023-09-29 17:37:30 +08:00
Revone
17e0fcb061
[pkg] v1.33.6 published
2023-09-27 11:56:58 +08:00
Revone
6b7cba5966
[pkg] ci optimization
2023-09-27 11:15:38 +08:00
Revone
9140567d73
[pkg] ready to publish v1.33.2
2023-09-26 17:09:28 +08:00
Revone
bd25485555
[project] generic naming standardized
2023-09-26 13:50:40 +08:00
Revone
89451d2c03
[README] data structures comparation
2023-09-26 12:49:33 +08:00
Revone
80675e2bbb
[BinaryTree] leftSum feature eliminated
2023-09-25 17:18:14 +08:00
Revone
96621c72e5
[RBTree] first commit of RBTree. [HashTable] first commit
2023-09-25 15:48:24 +08:00
Revone
45ac7d8d5f
[pkg] keywords optimization
2023-09-24 21:31:09 +08:00
Revone
c5266267a5
[README] simplified
2023-09-22 11:24:33 +08:00
Revone
ae69def973
[README] ready to modify
2023-09-22 11:20:33 +08:00
Revone
474f4315f7
[badges] coverage badges removed
2023-09-22 10:45:56 +08:00
Revone
25c88edcd6
[README] badges added.
2023-09-22 10:40:12 +08:00
Revone
b4643625a0
test coverage report supported. Code quality enhanced and support multiple environments such as ES6 (ESModule), ES5 (CommonJS), and a single file for both browser and Node.js environments (UMD). Supported for source maps. CODE-OF-CONDUCT.md, COMMANDS.md, SECURITY.md, .gitattributes added.
2023-09-22 00:53:34 +08:00
Revone
95b44f439b
[project] ESLint applied
2023-09-20 11:39:24 +08:00
Revone
70f439da13
v1.3.3 published
2023-09-19 17:00:25 +08:00
Revone
55704871b6
v1.3.1 published, new Queue implemented from SinglyLinkedList, and ArrayQueue implemented from Array
2023-09-18 22:04:39 +08:00
Revone
3d804cf13b
vivid-algorithm
2023-09-12 11:43:25 +08:00
Revone
450f051138
Optimize the overall codebase and directory structure.
2023-09-12 11:10:09 +08:00
Revone
b0774bee5b
[core] remove all the unnecessary files and directories when publishing the npm package
2023-09-09 23:49:53 +08:00
Revone
da68f2f97c
v1.21.0 publish ready
2023-09-07 22:32:48 +08:00
Revone
c7e1887b96
v1.21.0 published
2023-09-07 22:28:00 +08:00