版博士V2.0程序
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

CHANGELOG.md 6.1 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. # Change Log
  2. All notable changes to this project will be documented in this file.
  3. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
  4. ## [4.4.0] - 2023.03.17
  5. ### Changed
  6. - Optimized inOrder travel function for tree container.
  7. - Optimized `Symbol.iterator` function.
  8. - Optimized `TreeContainer` `erase` function.
  9. - Optimized some details of deque.
  10. - Change `reverse` and `sort` returned value to `this`.
  11. ## [4.3.0] - 2023.01.20
  12. ### Added
  13. - Add public member `container` to `Iterator` which means the container that the iterator pointed to.
  14. ### Changed
  15. - Reimplement `Queue`, separate `Queue` from `Deque`.
  16. ## [4.2.0] - 2022.11.20
  17. ### Changed
  18. - Optimized the structure of class `TreeNodeEnableIndex`.
  19. - Change the `iterator access denied` error message to reduce the packing size.
  20. - Change the internal storage of the hash container to the form of a linked list, traversing in insertion order.
  21. - Standardize hash container. Make it extends from `Container` and add general functions.
  22. - Refactor `LinkList` to do optimization.
  23. ### Added
  24. - Add public `length` property to all the container.
  25. - Add returned value to `pop` function including `popBack` and `popFront` to all the container which has such function.
  26. - Add returned value to `eraseElementByKey` which means whether erase successfully.
  27. - Add returned value to `push` or `insert` function which means the size of the container.
  28. ### Fixed
  29. - Fixed wrong error type when `updateKeyByIterator`.
  30. - Fixed wrong iterator was returned when erase tree reverse iterator.
  31. ## [4.2.0-beta.1] - 2022.11.06
  32. ### Changed
  33. - Remove all the arrow function to optimize.
  34. - Modify `HashContainer` implementation to optimize.
  35. ## [4.2.0-beta.0] - 2022.10.30
  36. ### Added
  37. - Add `ts` sourcemap for debug mode.
  38. - Add `this` param for `forEach` function.
  39. - Support single package umd build.
  40. ### Changed
  41. - Changed the packaging method of isolation packages release and the method of the member export.
  42. ## [4.1.5] - 2022.09.30
  43. ### Added
  44. - Add `find`, `remove`, `updateItem` and `toArray` functions to `PriorityQueue`.
  45. - Support single package release (use scope @js-sdsl).
  46. ## [4.1.5-beta.1] - 2022.09.23
  47. ### Fixed
  48. - Get wrong tree index when size is 0.
  49. ## [4.1.5-beta.0] - 2022.09.23
  50. ### Added
  51. - Add `index` property to tree iterator which represents the sequential index of the iterator in the tree.
  52. ### Changed
  53. - Minimal optimization with private properties mangling, macro inlining and const enum.
  54. - Private properties are now mangled.
  55. - Remove `checkWithinAccessParams` function.
  56. - Constants of `HashContainer` are moved to `HashContainerConst` const enum.
  57. - The iteratorType parameter in the constructor now changed from `boolean` type to `IteratorType` const enum type.
  58. - The type of `TreeNode.color` is now changed from `boolean` to `TreeNodeColor` const enum.
  59. - Turn some member exports into export-only types.
  60. ### Fixed
  61. - Fixed wrong iterator error message.
  62. ## [4.1.4] - 2022.09.07
  63. ### Added
  64. - Add some notes.
  65. ### Changed
  66. - Optimize hash container.
  67. - Abstracting out the hash container.
  68. ### Fixed
  69. - Fixed tree get height function return one larger than the real height.
  70. - Tree-shaking not work in ES module.
  71. - `Queue` and `Deque` should return `undefined` when container is empty.
  72. ## [4.1.4-beta.0] - 2022.08.31
  73. ### Added
  74. - Add function update key by iterator.
  75. - Add iterator copy function to get a copy of itself.
  76. - Add insert by iterator hint function in tree container.
  77. ### Changed
  78. - Changed OrderedMap's iterator pointer get from `Object.defineProperty'` to `Proxy`.
  79. - Improve iterator performance by remove some judgment.
  80. - Change iterator type description from `normal` and `reverse` to boolean.
  81. ## [4.1.2-beta.0] - 2022.08.27
  82. ### Added
  83. - Make `SequentialContainer` and `TreeBaseContainer` export in the index.
  84. ### Changed
  85. - Change rbTree binary search from recursive to loop implementation (don't effect using).
  86. - Reduce memory waste during deque initialization.
  87. ### Fixed
  88. - Fixed priority queue not dereference on pop.
  89. ## [4.1.1] - 2022.08.23
  90. ### Fixed
  91. - Forgot to reset root node on rotation in red-black tree delete operation.
  92. - Fix iterator invalidation after tree container removes iterator.
  93. ## [4.1.0] - 2022.08.21
  94. ### Changed
  95. - Change some functions from recursive to loop implementation (don't effect using).
  96. - Change some iterator function parameter type.
  97. - Change commonjs target to `es6`.
  98. - Change `Deque` from sequential queue to circular queue.
  99. - Optimize so many places (don't affect using).
  100. ### Fixed
  101. - Fix `Vector` length bugs.
  102. ## [4.0.3] - 2022-08-13
  103. ### Changed
  104. - Change `if (this.empty())` to `if (!this.length)`.
  105. - Change some unit test.
  106. - Change class type and optimized type design.
  107. ### Fixed
  108. - Fix can push undefined to deque.
  109. ## [4.0.0] - 2022-07-30
  110. ### Changed
  111. - Remove InternalError error as much as possible (don't affect using).
  112. - Change `HashSet` api `eraseElementByValue`'s name to `eraseElementByKey`.
  113. - Change some unit tests to improve coverage (don't affect using).
  114. ## [4.0.0-beta.0] - 2022-07-24
  115. ### Added
  116. - Complete test examples (don't effect using).
  117. - The error thrown is standardized, you can catch it according to the error type.
  118. ### Changed
  119. - Refactor all container from function to class (don't affect using).
  120. - Abstracting tree containers and hash containers, change `Set`'s and `Map`'s name to `OrderedSet` and `OrderedMap` to distinguish it from the official container.
  121. - Change `OrderedSet` api `eraseElementByValue`'s name to `eraseElementByKey`.
  122. ### Fixed
  123. - Fixed so many bugs.
  124. ## [3.0.0-beta.0] - 2022-04-29
  125. ### Added
  126. - Bidirectional iterator is provided for all containers except Stack, Queue, HashSet and HashMap.
  127. - Added begin, end, rBegin and rEnd functions to some containers for using iterator.
  128. - Added `eraseElementByIterator` function.
  129. ### Changed
  130. - Changed Pair type `T, K` to `K, V` (don't affect using).
  131. - Changed `find`, `lowerBound`, `upperBound`, `reverseLowerBound` and `reverseUpperBound` function's returned value to `Iterator`.
  132. ### Fixed
  133. - Fixed an error when the insert value was 0.
  134. - Fixed the problem that the lower version browser does not recognize symbol Compilation error caused by iterator.