Skip to content

Commit e028851

Browse files
committed
Add day 33
1 parent b3ad1c3 commit e028851

File tree

8 files changed

+74
-34
lines changed

8 files changed

+74
-34
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ Motivate yourself to code daily till 60 days, and see the magic! Coding will bec
6060
| [Day 30](./day30) | [Naive Search](./day30) | [http://codetoexpress.tech/dc/day30/](http://codetoexpress.tech/dc/day30/) | **Intermediate** |
6161
| [Day 31](./day31) | [Bubble Sort](./day31) | [http://codetoexpress.tech/dc/day31/](http://codetoexpress.tech/dc/day31/) | **Beginner** |
6262
| [Day 32](./day32) | [Selection Sort](./day32) | [http://codetoexpress.tech/dc/day32/](http://codetoexpress.tech/dc/day32/) | **Intermediate** |
63+
| [Day 33](./day32) | [Insertion Sort](./day33) | [http://codetoexpress.tech/dc/day33/](http://codetoexpress.tech/dc/day33/) | **Beginner** |
6364

6465
## [More Problems](./BONUS/README.md)
6566

day29/JavaScript/binary.js

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
1-
function binarySearch(arr, elem) {
2-
var start = 0;
3-
var end = arr.length - 1;
4-
var middle = Math.floor((start + end) / 2);
5-
while(arr[middle] !== elem && start <= end) {
6-
if(elem < arr[middle]){
7-
end = middle - 1;
8-
} else {
9-
start = middle + 1;
10-
}
11-
middle = Math.floor((start + end) / 2);
12-
}
13-
if(arr[middle] === elem){
14-
return middle;
1+
function binary (arr, n) {
2+
let left = 0,
3+
right = arr.length - 1, mid;
4+
5+
while (left <= right) {
6+
mid = Math.floor((left + right)/2);
7+
if (arr[mid] === n) return mid;
8+
else if (arr[mid] < n) left = mid+1;
9+
else right = mid-1;
1510
}
16-
return undefined;
11+
12+
return -1;
1713
}
1814

19-
console.log (binarySearch ([1, 2, 3, 4, 5, 8, 9], 8)); // 5
20-
console.log (binarySearch ([1, 2, 3, 4, 5, 8, 9], 7)); // undefined
15+
console.log (binary ([1, 2, 3, 4, 5, 6, 7, 8, 9], 5)); // 4

day29/README.md

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,19 @@ output: undefined
2727
### [JavaScript Implementation](./JavaScript/binary.js)
2828

2929
```js
30-
function binarySearch(arr, elem) {
31-
var start = 0;
32-
var end = arr.length - 1;
33-
var middle = Math.floor((start + end) / 2);
34-
while(arr[middle] !== elem && start <= end) {
35-
if(elem < arr[middle]){
36-
end = middle - 1;
37-
} else {
38-
start = middle + 1;
39-
}
40-
middle = Math.floor((start + end) / 2);
30+
function binary (arr, n) {
31+
let left = 0,
32+
right = arr.length - 1, mid;
33+
34+
while (left <= right) {
35+
mid = Math.floor((left + right)/2);
36+
if (arr[mid] === n) return mid;
37+
else if (arr[mid] < n) left = mid+1;
38+
else right = mid-1;
4139
}
42-
if(arr[middle] === elem){
43-
return middle;
44-
}
45-
return undefined;
40+
41+
return -1;
4642
}
4743

48-
console.log (binarySearch ([1, 2, 3, 4, 5, 8, 9], 8));
49-
console.log (binarySearch ([1, 2, 3, 4, 5, 8, 9], 7));
44+
console.log (binary ([1, 2, 3, 4, 5, 6, 7, 8, 9], 5)); // 4
5045
```

day32/JavaScript/insertionsort.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function insertionSort(arr){
2+
var val;
3+
for(var i = 1; i < arr.length; i++){
4+
val = arr[i];
5+
for(var j = i - 1; j >= 0 && arr[j] > val; j--) {
6+
arr[j+1] = arr[j]
7+
}
8+
arr[j+1] = val;
9+
}
10+
return arr;
11+
}
12+
13+
console.log ( insertionSort ([1, 5, 2, 7, 3, 4, 8, 9, 6]));
File renamed without changes.

day33/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
![cover](./cover.png)
2+
3+
# Day 32 - Search and Sort Algorithms Part F: Insertion Sort
4+
5+
## Question
6+
7+
Given an unsorted list of elements, write a program to sort the given list using insertion sort.
8+
9+
**Example**
10+
11+
```
12+
input: [1, 5, 2, 7, 3, 4, 8, 9, 6]
13+
output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
14+
```
15+
16+
![ques](./ques.png)
17+
18+
## Solution
19+
20+
### [JavaScript Implementation](./JavaScript/insertionsort.js)
21+
22+
```js
23+
function insertionSort(arr){
24+
var val;
25+
for(var i = 1; i < arr.length; i++){
26+
val = arr[i];
27+
for(var j = i - 1; j >= 0 && arr[j] > val; j--) {
28+
arr[j+1] = arr[j]
29+
}
30+
arr[j+1] = val;
31+
}
32+
return arr;
33+
}
34+
35+
console.log ( insertionSort ([1, 5, 2, 7, 3, 4, 8, 9, 6]));
36+
```

day33/cover.png

135 KB
Loading

day33/ques.png

874 KB
Loading

0 commit comments

Comments
 (0)