new BTree(degree)
Example
var BTree = require("dsjslib").BTree
var btree=new BTree(3)
Known Limitations: Currently only supports Numeric or String keys (uses < > for natural ordering). Its more of an academic implementation at this point because all nodes are always in memory. A more robust/practical implementation which loads data from disk as required will be added soon.
Parameters:
Name  Type  Description 

degree 
Number  A BTree of degree N,can have a maximum of 2*N 1 keys and minimum of N1 keys per Node. Root is allowed to have less than minimum no. of keys 
Methods

checkInvariants(node)

Check various BTree invariants  For sanity testing 1. Except root all nodes have degree 1 <keys<2*degree1 2. Child keys are less than corresponding parent key (and greater than predecessor parent key)
Parameters:
Name Type Argument Description node
Object <optional>
Node to start at. Starts at root if not provided

delete(key, node)

Deletes a key and rejoins nodes and/or reduces the height of tree as required
Parameters:
Name Type Argument Description key
String  Number key to delete
node
Object <optional>
Node to start at. Starts at root if not provided

get(key, node) → {*}

Get value for key
Parameters:
Name Type Argument Description key
String  Number node
Object <optional>
Optional, Node to start search at. When not provided search starts at root
Returns:
value associated with key, null if key was not found
 Type
 *

put(key, value, node) → {BTree}

Inserts a key and splits nodes as required
Parameters:
Name Type Argument Description key
String  Number value
* node
Object <optional>
Node to start at. Starts at root if not provided
Returns:
this
 Type
 BTree