@lnear/ds
Version:
A collection of data structures for JavaScript and TypeScript
56 lines (50 loc) • 1.28 kB
TypeScript
export declare class BinarySearchTree<T> {
private root;
insert(data: T): void;
private insertNode;
remove(data: T): void;
private removeNode;
private findMinNode;
search(data: T): boolean;
private searchNode;
inOrderTraverse(callback: (data: T) => void): void;
private inOrderTraverseNode;
}
export declare class DoublyLinkedList<T> {
private head;
private tail;
constructor();
isEmpty(): boolean;
size(): number;
append(data: T): void;
insert(data: T, position: number): void;
remove(position: number): void;
print(): void;
}
export declare class LinkedList<T> {
private head;
constructor();
isEmpty(): boolean;
size(): number;
append(data: T): void;
insert(data: T, position: number): void;
remove(position: number): void;
print(): void;
}
export declare class Queue<T> {
private items;
enqueue(item: T): void;
dequeue(): T | undefined;
peek(): T | undefined;
isEmpty(): boolean;
size(): number;
}
export declare class Stack<T> {
private items;
push(item: T): void;
pop(): T | undefined;
peek(): T | undefined;
isEmpty(): boolean;
size(): number;
}
export { }