You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
export declare class Node { |
|
id: any; |
|
set(key: any, value: any): void; |
|
get(key: any): any; |
|
isLeaf(): boolean; |
|
getChildren(): Node[]; |
|
getChildrenLength(): number; |
|
getFirstChild(): Node; |
|
getLastChild(): Node; |
|
setLeft(left: Node): void; |
|
getLeft(): Node; |
|
setRight(left: Node): void; |
|
getRight(): Node; |
|
setParent(parent: Node): void; |
|
getParent(): Node; |
|
getChild(index: number): Node; |
|
getChildIndex(id: any): number; |
|
removeChild(id: any): void; |
|
removeChildByIndex(index: number): void; |
|
removeAllChilds(): void; |
|
addChild(child: Node, index: number): void; |
|
equals(obj: Node): boolean; |
|
clear(): void; |
|
} |
|
|
|
|
|
export declare class Tree { |
|
root: Node; |
|
addNode(node: Node, newNode: Node, index?: number):void; |
|
isRoot(node: Node): boolean; |
|
getRoot(): Node; |
|
clear():void; |
|
initTree(nodes: any[]):void; |
|
toJSON<T>(node?: Node): T[]; |
|
toJSONWithNode<T>(node?: Node): T[]; |
|
search(root: Node, target?: any, param?: any): Node; |
|
traverse(callback: Function): void; |
|
recursion(callback: Function): void; |
|
inOrderTraverse(callback: Function): void; |
|
nrInOrderTraverse(callback: Function): void; |
|
preOrderTraverse(callback: Function): void; |
|
nrPreOrderTraverse(callback: Function): void; |
|
postOrderTraverse(callback: Function): void; |
|
nrPostOrderTraverse(callback: Function): void; |
|
static transformToArrayFormat<T>(nodes: T | T[], pId: any, childKey?: string): T[]; |
|
static arrayFormat<T>(nodes: T | T[], pId: any): T[]; |
|
static transformToTreeFormat<T>(sNodes: T[]): T[]; |
|
static treeFormat<T>(sNodes: T | T[]): T[]; |
|
static traversal<T>(array: T[], callback: (index:number,node:T,pNode?:T)=> boolean | void, pNode?: T): void; |
|
}
|
|
|