feat: more algos

This commit is contained in:
mpaulson 2022-06-23 21:59:17 -06:00
parent 5a946a1f53
commit 5335cc10b0
16 changed files with 151 additions and 78 deletions

25
src/global.d.ts vendored Normal file
View 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>[]
}