feat: more algos
This commit is contained in:
parent
5a946a1f53
commit
5335cc10b0
16 changed files with 151 additions and 78 deletions
25
src/global.d.ts
vendored
Normal file
25
src/global.d.ts
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
declare interface List<T> {
|
||||
get length(): number;
|
||||
removeAt(index: number): T | undefined;
|
||||
remove(item: T): T | undefined;
|
||||
get(index: number): T | undefined;
|
||||
add(item: T): void;
|
||||
}
|
||||
|
||||
declare type GraphEdge = {to: number, weight: number};
|
||||
declare type WeightedAdjacencyList = GraphEdge[][];
|
||||
declare type WeightedAdjacencyMatrix = number[][]; // A number means weight
|
||||
|
||||
declare type AdjacencyList = number[][];
|
||||
declare type AdjacencyMatrix = number[][]; // A 1 means connected
|
||||
|
||||
declare type BinaryNode<T> = {
|
||||
value: T;
|
||||
left: BinaryNode<T>;
|
||||
right: BinaryNode<T>;
|
||||
}
|
||||
|
||||
declare type GeneralNode<T> = {
|
||||
value: T;
|
||||
children: GeneralNode<T>[]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue