balancedtrees 0.0.5
balancedtrees #
A collections of AVL and BPlus tree
Getting Started #
Usage
var bpt = BPlusTree<String>(capacityOfNode: 4,compare: genUnitSortHelper);
BPlusTreeAlgos.insert(bptree: bpt, valueToBeInserted: 123, keyToBeInserted: "n7");
BPlusTreeAlgos.searchForKey(searchKey: "n7", bptree: bpt).getValue(); //will give out 123
BPlusTreeAlgos.delete(bptree: bpt, keyToBeDeleted: "n7");
Important points #
- BPlustree's node's minimum capactiy of node must be greater than 4
- BPlustree with smaller node capacity works faster than one with more capacity. Upon load testing it was found that with capacity 4 it performed fastest, however when it capacity was increased to 101, it performed at most 3 times slower.
[0.0.5] - 23 Nov 2019
- Bug in Bplustree deleted algo. It was not returning the deleted cell ref!
[0.0.4] - 19 Nov 2019
- Bug in Bplustree insert algo. It was not returning the inserted cell ref!
[0.0.3] - 14 Nov 2019
- introduction of offset and limit control variable in range search
- custom comparator during search
[0.0.2] - 4 Nov 2019
- Included support for range search
[0.0.1] - 21 Sep 2019
- Intial release: Includes a collection of AVL and BPlusTree
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies:
balancedtrees: ^0.0.5
2. Install it
You can install packages from the command line:
with Flutter:
$ flutter pub get
Alternatively, your editor might support flutter pub get
.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
import 'package:balancedtrees/balancedtrees.dart';
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
59
|
Health:
Code health derived from static analysis.
[more]
|
71
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
60
|
Overall:
Weighted score of the above.
[more]
|
63
|
We analyzed this package on Dec 7, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
- Dart: 2.6.1
- pana: 0.12.21
- Flutter: 1.9.1+hotfix.6
Platforms
Detected platforms: Flutter
References Flutter, and has no conflicting libraries.
Health suggestions
Fix lib/avltree/avltree.dart
. (-15.67 points)
Analysis of lib/avltree/avltree.dart
reported 34 hints, including:
line 259 col 11: Don't explicitly initialize variables to null.
line 354 col 25: Name non-constant identifiers using lowerCamelCase.
line 357 col 9: Name non-constant identifiers using lowerCamelCase.
line 388 col 11: Name non-constant identifiers using lowerCamelCase.
line 481 col 9: Name non-constant identifiers using lowerCamelCase.
Fix lib/bplustree/bplustree.dart
. (-14.82 points)
Analysis of lib/bplustree/bplustree.dart
reported 32 hints, including:
line 67 col 7: Name non-constant identifiers using lowerCamelCase.
line 224 col 3: This function has a return type of 'BPlusCell
line 422 col 9: Name non-constant identifiers using lowerCamelCase.
line 471 col 10: This function has a return type of 'BPlusCell
line 476 col 24: The target expression uses '?.', so its value can be null.
Fix lib/util/util.dart
. (-1 points)
Analysis of lib/util/util.dart
reported 2 hints:
line 20 col 18: Name non-constant identifiers using lowerCamelCase.
line 49 col 7: Name non-constant identifiers using lowerCamelCase.
Fix additional 3 files with analysis or formatting issues.
Additional issues in the following files:
lib/balancedtrees.dart
(Runflutter format
to formatlib/balancedtrees.dart
.)lib/comparators/comparators.dart
(Runflutter format
to formatlib/comparators/comparators.dart
.)lib/generated/i18n.dart
(Runflutter format
to formatlib/generated/i18n.dart
.)
Maintenance suggestions
The package description is too short. (-20 points)
Add more detail to the description
field of pubspec.yaml
. Use 60 to 180 characters to describe the package, what it does, and its target use case.
Maintain an example. (-10 points)
Create a short demo in the example/
directory to show how to use this package.
Common filename patterns include main.dart
, example.dart
, and balancedtrees.dart
. Packages with multiple examples should provide example/README.md
.
For more information see the pub package layout conventions.
Package is pre-v0.1 release. (-10 points)
While nothing is inherently wrong with versions of 0.0.*
, it might mean that the author is still experimenting with the general direction of the API.
Dependencies
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=2.1.0 <3.0.0 | ||
flutter | 0.0.0 | ||
Transitive dependencies | |||
collection | 1.14.11 | 1.14.12 | |
meta | 1.1.7 | 1.1.8 | |
sky_engine | 0.0.99 | ||
typed_data | 1.1.6 | ||
vector_math | 2.0.8 | ||
Dev dependencies | |||
flutter_test |