athro
Advanced tools
Comparing version 2.0.3 to 2.0.4
# athro | ||
## 2.0.4 | ||
### Patch Changes | ||
- (docs): updated root readme and packages/athro readme | ||
## 2.0.3 | ||
@@ -4,0 +10,0 @@ |
@@ -1,14 +0,14 @@ | ||
declare class Node$3<T> { | ||
declare class Node$4<T> { | ||
value: T; | ||
next: Node$3<T> | null; | ||
next: Node$4<T> | null; | ||
constructor(value: T); | ||
} | ||
interface ILinkedList<T> { | ||
push(value: T): Node$3<T>; | ||
push(value: T): Node$4<T>; | ||
pop(): void; | ||
shift(): void; | ||
unshift(value: T): Node$3<T>; | ||
get(index: number): Node$3<T> | null; | ||
set(index: number, value: T): Node$3<T> | null; | ||
insert(index: number, value: T): Node$3<T> | null; | ||
unshift(value: T): Node$4<T>; | ||
get(index: number): Node$4<T> | null; | ||
set(index: number, value: T): Node$4<T> | null; | ||
insert(index: number, value: T): Node$4<T> | null; | ||
remove(index: number): void; | ||
@@ -22,9 +22,9 @@ reverse(): unknown; | ||
private length; | ||
push(value: T): Node$3<T>; | ||
push(value: T): Node$4<T>; | ||
pop(): void; | ||
shift(): void; | ||
unshift(value: T): Node$3<T>; | ||
get(index: number): Node$3<T> | null; | ||
set(index: number, value: T): Node$3<T> | null; | ||
insert(index: number, value: T): Node$3<T> | null; | ||
unshift(value: T): Node$4<T>; | ||
get(index: number): Node$4<T> | null; | ||
set(index: number, value: T): Node$4<T> | null; | ||
insert(index: number, value: T): Node$4<T> | null; | ||
remove(index: number): void; | ||
@@ -35,16 +35,16 @@ reverse(): unknown; | ||
declare class Node$2<T> { | ||
declare class Node$3<T> { | ||
value: T; | ||
next: Node$2<T> | null; | ||
prev: Node$2<T> | null; | ||
next: Node$3<T> | null; | ||
prev: Node$3<T> | null; | ||
constructor(value: T); | ||
} | ||
interface IDoublyLinkedList<T> { | ||
push(value: T): Node$2<T>; | ||
push(value: T): Node$3<T>; | ||
pop(): void; | ||
shift(): void; | ||
unshift(value: T): Node$2<T>; | ||
get(index: number): Node$2<T> | null; | ||
set(index: number, value: T): Node$2<T> | null; | ||
insert(index: number, value: T): Node$2<T> | null; | ||
unshift(value: T): Node$3<T>; | ||
get(index: number): Node$3<T> | null; | ||
set(index: number, value: T): Node$3<T> | null; | ||
insert(index: number, value: T): Node$3<T> | null; | ||
remove(index: number): void; | ||
@@ -57,9 +57,9 @@ traverse(): unknown; | ||
private length; | ||
push(value: T): Node$2<T>; | ||
push(value: T): Node$3<T>; | ||
pop(): void; | ||
shift(): void; | ||
unshift(value: T): Node$2<T>; | ||
get(index: number): Node$2<T> | null; | ||
set(index: number, value: T): Node$2<T> | null; | ||
insert(index: number, value: T): Node$2<T> | null; | ||
unshift(value: T): Node$3<T>; | ||
get(index: number): Node$3<T> | null; | ||
set(index: number, value: T): Node$3<T> | null; | ||
insert(index: number, value: T): Node$3<T> | null; | ||
remove(index: number): void; | ||
@@ -69,9 +69,9 @@ traverse(): void; | ||
declare class Node$1<T> { | ||
declare class Node$2<T> { | ||
value: T; | ||
next: Node$1<T> | null; | ||
next: Node$2<T> | null; | ||
constructor(value: T); | ||
} | ||
interface IQueue<T> { | ||
enqueue(value: T): Node$1<T>; | ||
enqueue(value: T): Node$2<T>; | ||
dequeue(): void; | ||
@@ -86,3 +86,3 @@ peek(): T | null; | ||
private size; | ||
enqueue(value: T): Node$1<T>; | ||
enqueue(value: T): Node$2<T>; | ||
dequeue(): void; | ||
@@ -94,9 +94,9 @@ peek(): T | null; | ||
declare class Node<T> { | ||
declare class Node$1<T> { | ||
value: T; | ||
next: Node<T> | null; | ||
next: Node$1<T> | null; | ||
constructor(value: T); | ||
} | ||
interface IStack<T> { | ||
push(value: T): Node<T>; | ||
push(value: T): Node$1<T>; | ||
pop(): void; | ||
@@ -111,3 +111,3 @@ top(): T | null; | ||
private size; | ||
push(value: T): Node<T>; | ||
push(value: T): Node$1<T>; | ||
pop(): void; | ||
@@ -133,2 +133,17 @@ top(): T | null; | ||
export { DoublyLinkedList, LinkedList, Queue, Stack, binarySearch, bubbleSort, insertionSort, linearSearch, mergeSort, quickSort, selectionSort }; | ||
declare class Node<T> { | ||
value: T; | ||
left: Node<T> | null; | ||
right: Node<T> | null; | ||
constructor(value: T); | ||
} | ||
declare function bfs<T>(root: Node<T> | null): T[] | null; | ||
declare function preOrder<T>(root: Node<T> | null): T[] | null; | ||
declare function inOrder<T>(root: Node<T> | null): T[] | null; | ||
declare function postOrder<T>(root: Node<T> | null): T[] | null; | ||
export { DoublyLinkedList, LinkedList, Node, Queue, Stack, bfs, binarySearch, bubbleSort, inOrder, insertionSort, linearSearch, mergeSort, postOrder, preOrder, quickSort, selectionSort }; |
@@ -25,9 +25,14 @@ "use strict"; | ||
LinkedList: () => LinkedList, | ||
Node: () => Node5, | ||
Queue: () => Queue, | ||
Stack: () => Stack, | ||
bfs: () => bfs, | ||
binarySearch: () => binarySearch, | ||
bubbleSort: () => bubbleSort, | ||
inOrder: () => inOrder, | ||
insertionSort: () => insertionSort, | ||
linearSearch: () => linearSearch, | ||
mergeSort: () => mergeSort, | ||
postOrder: () => postOrder, | ||
preOrder: () => preOrder, | ||
quickSort: () => quickSort, | ||
@@ -602,2 +607,85 @@ selectionSort: () => selectionSort | ||
}; | ||
// src/algorithms/traversal/bfs.ts | ||
function bfs(root) { | ||
if (root === null || root === void 0) | ||
return root; | ||
let visited = []; | ||
let queue = []; | ||
let node; | ||
queue.push(root); | ||
while (queue.length > 0) { | ||
node = queue.shift(); | ||
if (node) { | ||
visited.push(node.value); | ||
if (node.left) | ||
queue.push(node.left); | ||
if (node.right) | ||
queue.push(node.right); | ||
} | ||
} | ||
return visited; | ||
} | ||
// src/algorithms/traversal/preorder.ts | ||
function preOrder(root) { | ||
if (root === null || root === void 0) | ||
return root; | ||
let visited = []; | ||
let current = root; | ||
function traverse(node) { | ||
visited.push(node.value); | ||
if (node.left) | ||
traverse(node.left); | ||
if (node.right) | ||
traverse(node.right); | ||
} | ||
traverse(current); | ||
return visited; | ||
} | ||
// src/algorithms/traversal/inorder.ts | ||
function inOrder(root) { | ||
if (root === null || root === void 0) | ||
return root; | ||
var visited = []; | ||
var current = root; | ||
function traverse(node) { | ||
if (node.left) | ||
traverse(node.left); | ||
visited.push(node.value); | ||
if (node.right) | ||
traverse(node.right); | ||
} | ||
traverse(current); | ||
return visited; | ||
} | ||
// src/algorithms/traversal/postorder.ts | ||
function postOrder(root) { | ||
if (root === null || root === void 0) | ||
return root; | ||
var visited = []; | ||
var current = root; | ||
function traverse(node) { | ||
if (node.left) | ||
traverse(node.left); | ||
if (node.right) | ||
traverse(node.right); | ||
visited.push(node.value); | ||
} | ||
traverse(current); | ||
return visited; | ||
} | ||
// src/algorithms/traversal/types.ts | ||
var Node5 = class { | ||
constructor(value) { | ||
this.left = null; | ||
this.right = null; | ||
this.value = value; | ||
this.left = null; | ||
this.right = null; | ||
} | ||
}; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
@@ -607,11 +695,16 @@ 0 && (module.exports = { | ||
LinkedList, | ||
Node, | ||
Queue, | ||
Stack, | ||
bfs, | ||
binarySearch, | ||
bubbleSort, | ||
inOrder, | ||
insertionSort, | ||
linearSearch, | ||
mergeSort, | ||
postOrder, | ||
preOrder, | ||
quickSort, | ||
selectionSort | ||
}); |
{ | ||
"name": "athro", | ||
"author": "arneeshaima", | ||
"version": "2.0.3", | ||
"version": "2.0.4", | ||
"description": "A datastructures and algorithms library for TS/JS", | ||
@@ -6,0 +6,0 @@ "main": "dist/index.js", |
@@ -15,2 +15,4 @@ | ||
<a href="https://packagephobia.now.sh/result?p=athro"><img src="https://badgen.net/packagephobia/install/athro" alt="Install Size"></a> | ||
<a href="https://github.com/arneesh/athro/blob/master/LICENSE.md"> | ||
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="athro is released under the MIT license." /></a> | ||
</div> | ||
@@ -17,0 +19,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
64937
2312
53