v0.19.0
DataStructures v0.19.0
(breaking)
Added
- New
Queue
andStack
as separate types with enhanced documentation - Add
empty!
method for heaps (#932) - Support for recursive
DefaultDict
creation - Add
find_prefixes
method toTrie
for finding all keys that are prefixes of a given string (#933) - Improved constructors for
CircularBuffer
allowing initialization with an iterable and capacity - Add
resize!
method forCircularBuffer
- Enhanced documentation with doctests and improved examples throughout (#931)
Changed
- Minimum Julia version requirement raised to 1.6 (#874)
DisjointSets
renamed toDisjointSet
(singular form) (#700)IntDisjointSets
renamed toIntDisjointSet
(singular form) (#700)- PriorityQueue API updated to use standard Julia interfaces:
enqueue!
→push!
dequeue!
→popfirst!
dequeue_pair!
→popfirst!
peek
→first
- Renamed methods in sorted containers:
startof
→firstindex
endof
→lastindex
insert!
→push_return_semitoken!
Accumulator
constructor behavior changed to properly accumulate values when initialized with pairs- Documentation significantly expanded and reorganized
- Performance improvements in heaps and various other data structures (#907)
Deprecated
enqueue!
anddequeue!
methods (usepush!
andpopfirst!
instead)peek
for PriorityQueue (usefirst
instead)DisjointSets
(useDisjointSet
instead) (#700)IntDisjointSets
(useIntDisjointSet
instead) (#700)startof
andendof
(usefirstindex
andlastindex
instead)
Fixed
- Memory management improvements using
Base._unsetindex!
in several data structures (#884) - Fixed
append!
behavior inMutableLinkedList
to properly handle multiple arguments - Various bug fixes and correctness improvements
Removed
- Dependency on Compat.jl
- Dependency on InteractiveUtils.jl
- Support for Julia versions < 1.6 (#874)
Merged pull requests:
- Define
empty!
forBinaryHeap
andMutableBinaryHeap
(#932) (@devmotion) - Avoid unnecessary hash lookups in trie.jl (#933) (@AzamatB)
- Refactor
not_iterator_of_pairs
to stop usingInteractiveUtils
(#936) (@asinghvi17) - Remove outdated Iterators.reverse definition (#939) (@asinghvi17)
- release v0.19 (#943) (@aviatesk)
Closed issues: