125 lines
3.3 KiB
Plaintext
125 lines
3.3 KiB
Plaintext
### Q1
|
|
Show the steps of sorting the integers 23, 48, 11, 3, 79, 35, 7, 19 by using
|
|
i. Selection sort
|
|
ii. Bubble sort
|
|
iii. Insertion sort
|
|
iv. Merge sort
|
|
v. In-Place Quick sort (with 1 st element as pivot)
|
|
|
|
```
|
|
# Selection sort
|
|
23 48 11 3 79 35 7 19
|
|
3 [48 11 23 79 35 7 19]
|
|
3 7 [11 23 79 35 48 19]
|
|
3 7 11 [23 79 35 48 19]
|
|
3 7 11 19 [79 35 48 23]
|
|
3 7 11 19 23 [35 48 79]
|
|
3 7 11 19 23 35 [48 79]
|
|
3 7 11 19 23 35 48 [79]
|
|
|
|
# Bubble Sort
|
|
[23 11 3 48 35 7 19] 79
|
|
[11 3 23 35 7 19] 48 79
|
|
[3 11 23 7 19] 35 48 79
|
|
[3 11 7 19] 23 35 48 79
|
|
[3 7 11] 19 23 35 48 79
|
|
3 7 11 19 23 35 48 79
|
|
|
|
# Insertion Sort
|
|
23 48 11 3 79 35 7 19
|
|
[23 48] 11 3 79 35 7 19
|
|
[11 23 48] 3 79 35 7 19
|
|
[3 11 23 48] 79 35 7 19
|
|
[3 11 23 48 79] 35 7 19
|
|
[3 11 23 35 48 79] 7 19
|
|
[3 7 11 23 35 48 79] 19
|
|
[3 7 11 19 23 35 48 79]
|
|
|
|
# Merge Sort
|
|
{23 48 11 3 79 35 7 19}
|
|
{23 48 11 3}{79 35 7 19}
|
|
{23 48}{11 3} {79 35}{7 19}
|
|
{23}{48}{11}{3}{79}{35}{7}{19}
|
|
{23 48}{3 11}{35 79}{7 19}
|
|
{3 11 23 48} {7 19 35 79}
|
|
{3 7 11 19 23 35 48 79}
|
|
|
|
# Qucik sort
|
|
|
|
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | StoreIndex
|
|
data | 23| 48| 11| 3| 79| 35| 7| 19| 1
|
|
Step 1| 23| 48| 11| 3| 79| 35| 7| 19| 1
|
|
Step 2| 23| 11| 48| 3| 79| 35| 7| 19| 2
|
|
Step 3| 23| 11| 3| 48| 79| 35| 7| 19| 3
|
|
Step 4| 23| 11| 3| 48| 79| 35| 7| 19| 3
|
|
Step 5| 23| 11| 3| 48| 79| 35| 7| 19| 3
|
|
Step 6| 23| 11| 3| 7| 79| 35| 48| 19| 4
|
|
Step 7| 23| 11| 3| 7| 19| 35| 48| 79| 5
|
|
Step 8| 19| 11| 3| 7| 23| 35| 48| 79| 5
|
|
```
|
|
|
|
### Q2
|
|
Show the steps for sorting the integers 79, 48, 35, 23, 19, 11, 7, 3 by using the above five methods.
|
|
|
|
```
|
|
# Selection Sort
|
|
79 48 35 23 19 11 7 3
|
|
3 [48 35 23 19 11 7 79]
|
|
3 7 [35 23 19 11 48 79]
|
|
3 7 11 [23 19 35 48 79]
|
|
3 7 11 19 [23 35 48 79]
|
|
3 7 11 19 23 [35 48 79]
|
|
3 7 11 19 23 35 [48 79]
|
|
3 7 11 19 23 35 48 [79]
|
|
|
|
# Bubble Sort
|
|
79 48 35 23 19 11 7 3
|
|
[48 35 23 19 11 7 3] 79
|
|
[35 23 19 11 7 3] 48 79
|
|
[23 19 11 7 3] 35 48 79
|
|
[19 11 7 3] 23 35 48 79
|
|
[11 7 3] 19 23 35 48 79
|
|
[7 3] 11 19 23 35 48 79
|
|
[3] 7 11 19 23 35 48 79
|
|
3 7 11 19 23 35 48 79
|
|
|
|
# Insertion Sort
|
|
79 48 35 23 19 11 7 3
|
|
[48 79] 35 23 19 11 7 3
|
|
[35 48 79] 23 19 11 7 3
|
|
[23 35 48 79] 19 11 7 3
|
|
[19 23 35 48 79] 11 7 3
|
|
[11 19 23 35 48 79] 7 3
|
|
[7 11 19 23 35 48 79] 3
|
|
[3 7 11 19 23 35 48 79]
|
|
|
|
# Merge Sort
|
|
{79 48 35 23 19 11 7 3}
|
|
{79 48 35 23} {19 11 7 3}
|
|
{79 48} {35 23} {19 11} {7 3}
|
|
{79} {48} {35} {23} {19} {11} {7} {3}
|
|
{48 79} {23 35} {11 19} {3 7}
|
|
{23 35 48 79} {3 7 11 19}
|
|
{3 7 11 19 23 35 48 79}
|
|
|
|
# Quick Sort
|
|
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | StoreIndex
|
|
data | 79| 48| 35| 23| 19| 11| 7| 3| 1
|
|
Step 1| 79| 48| 35| 23| 19| 11| 7| 3| 2
|
|
Step 2| 79| 48| 35| 23| 19| 11| 7| 3| 3
|
|
Step 3| 79| 48| 35| 23| 19| 11| 7| 3| 4
|
|
Step 4| 79| 48| 35| 23| 19| 11| 7| 3| 5
|
|
Step 5| 79| 48| 35| 23| 19| 11| 7| 3| 6
|
|
Step 6| 79| 48| 35| 23| 19| 11| 7| 3| 7
|
|
Step 7| 79| 48| 35| 23| 19| 11| 7| 3| 8
|
|
Step 8| 3| 48| 35| 23| 19| 11| 7| 79| 8
|
|
```
|
|
|
|
### Q3
|
|
| Algorithms | Data is in random order | Data is ascesndinf order(Guess) | Data is in descending order | In place? (yes or no) |
|
|
| --- | --- | --- | --- | --- |
|
|
| Selection | O(n^2) | O(n^2) | O(n^2) | yes |
|
|
| Bubble | O(n^2) | O(n) | O(n^2) | yes |
|
|
| Insertion | O(n^2) | O(n) | O(n^2) | yes |
|
|
| Merge | O(n log n) | O(n log n) | O(n log n) | no |
|
|
| Quick | O(n log n) | O(n^2) | O(n^2) | yes | |