Skip to content

Commit 9beaf47

Browse files
committed
first commit
0 parents  commit 9beaf47

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-0
lines changed

algorithms/basic-bainary-search.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// bainary search
2+
function bainaryWhile(number, sortedArr) {
3+
let left = 0;
4+
let right = sortedArr.length - 1;
5+
let mid;
6+
while (left <= right) {
7+
mid = Math.floor((left + right) / 2);
8+
if (sortedArr[mid] === number) {
9+
return true;
10+
} else if (sortedArr[mid] > number) {
11+
right = mid - 1;
12+
} else {
13+
left = mid + 1;
14+
}
15+
console.log(right, left, mid, sortedArr.length)
16+
}
17+
return false;
18+
}
19+
20+
//bainary in recursion ;
21+
function bainarySearch(num, arr) {
22+
let mid = Math.floor((arr.length - 1) / 2);
23+
console.log(mid, arr.length)
24+
if (arr[mid] === num) {
25+
return true;
26+
} else if (arr[mid] > num) {
27+
return bainarySearch(num, arr.slice(0, mid - 1));
28+
} else if (arr[mid] < num) {
29+
return bainarySearch(num, arr.slice(mid + 1))
30+
} else {
31+
return false
32+
}
33+
}
34+
console.log(bainarySearch(1, [1, 3, 3, 3, 3, 3, 3, 4]))

data structure/basic-queue.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
class Queue {
2+
constructor(fullSize) {
3+
this.queue = [];
4+
this.rear = -1;
5+
this.front = -1;
6+
this.arrSize = parseInt(fullSize);
7+
}
8+
enqueue(item) {
9+
if (this.rear === this.arrSize - 1) {
10+
console.log('array full');
11+
return;
12+
}
13+
if (this.front = -1) { this.front = 0 };
14+
this.rear += 1;
15+
this.queue[this.rear] =item;
16+
console.log(this.queue, this.front, this.rear);
17+
}
18+
dequeue() {
19+
if (this.arrSize === this.front || this.front === -1) {
20+
21+
console.log('the queue is empty',this.queue);
22+
return;
23+
}
24+
this.queue[this.front] = null;
25+
if(this.front >= this.rear) {
26+
this.rear = -1;
27+
this.front = -1;
28+
} else {
29+
this.front += 1
30+
}
31+
console.log(this.queue, this.front, this.rear);
32+
}
33+
}
34+
const newQueue = new Queue(5);
35+
console.log(newQueue)
36+
newQueue.enqueue(3);
37+
newQueue.enqueue(3);
38+
newQueue.enqueue(3);
39+
newQueue.enqueue(3);
40+
newQueue.enqueue(3);
41+
newQueue.enqueue(3);
42+
newQueue.dequeue();
43+
newQueue.dequeue();
44+
newQueue.dequeue();
45+
newQueue.dequeue();
46+
newQueue.dequeue();
47+
newQueue.dequeue();
48+
newQueue.dequeue();
49+
newQueue.dequeue();
50+
newQueue.dequeue();
51+
newQueue.dequeue();
52+
newQueue.enqueue(3);
53+
newQueue.enqueue(3);
54+
newQueue.enqueue(3);
55+
newQueue.dequeue();
56+
newQueue.dequeue();
57+
newQueue.dequeue();
58+
newQueue.dequeue();
59+
newQueue.dequeue();
60+
newQueue.enqueue(3);
61+
newQueue.enqueue(3);
62+
63+
64+
65+
66+
67+

0 commit comments

Comments
 (0)