Algorithm is a mathmatical tool to solve some problem with propal methods. For example, let’s think about a situation follows. Oneday, you’ve got a job from a city library. However, there was a tournado yesterday so all books dropped out of the shelf. Your employer calls you and asks you to clean it up in order of books’ ID. Despite of your low payment, you have no way but clean it up. Therefore, you started to think about the way to clean it up.
Insertion sort
You may give up to think about better way to clean it up. Instead of it, you just started to clean it up by reading the ID of each book and put the book which has the smallest ID into the shelf.
Quick sort
While you are doing such a thing, your friend decided to do the follow.
- If there is only one book, just put it in with the revered direction.
- If there is more than a book, select a book in random.
- Put all books that have smaller ID than the book that you selected at 1 into the shelf.
- Then add the book that you selected at 1 but in the reversed direction to identify this is the book which you used.
- If all books are in the self with inverse direction, flip all books.
- Otherwise, pick books between two reversed book and take books out of the shelf and do the same process from 1.
Notice that the starting point, end point of the shelf will be considered as the reversed book in 6.
This looks more complex but it usually takes much less time than you did. See the example below.
Example
For example, there are books that have IDs of 52,33,25,19,28,38,37,45,73,68,61,69,87,78,90. Now, let’s follow the each process.
You will clean the book like bellow. Notice that I marked [] as books that shelf has, {} as what you are memorizing and () as what you are looking. In this algorithm, you can see only one book at once because numbers are too complex to see it on glance. At the same time, you can memorize a number at most because of its long digits.
- (52), 33, 25, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- {52}, (33), 25, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- 52, {33}, (25), 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- 52, 33, {25}, (19), 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, (28), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, (37), 45, 73, 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, (45), 73, 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, (73), 68, 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, (68), 61, 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, 68, (61), 69, 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, 68, 61, (69), 87, 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, 68, 61, 69, (87), 78, 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, 68, 61, 69, 87, (78), 90
- 52, 33, 25, {19}, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, (90)
- [19], 52, 33, 25, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], (52), 33, 25, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], {52}, (33), 25, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], 52, {33}, (25), 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, (28), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, (37), 45, 73, 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, (45), 73, 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, (73), 68, 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, (68), 61, 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, 68, (61), 69, 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, 68, 61, (69), 87, 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, 68, 61, 69, (87), 78, 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, 68, 61, 69, 87, (78), 90
- [19], 52, 33, {25}, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, (90)
- [19, 25], 52, 33, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], (52), 33, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], {52}, (33), 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], 52, {33}, (28), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, (37), 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, (45), 73, 68, 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, (73), 68, 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, (68), 61, 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, 68, (61), 69, 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, 68, 61, (69), 87, 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, 68, 61, 69, (87), 78, 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, 68, 61, 69, 87, (78), 90
- [19, 25], 52, 33, {28}, 38, 37, 45, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28], 52, 33, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], (52), 33, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], {52}, (33), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, (37), 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, (45), 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, (68), 61, 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, 68, (61), 69, 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, 68, 61, (69), 87, 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, 68, 61, 69, (87), 78, 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, 68, 61, 69, 87, (78), 90
- [19, 25, 28], 52, {33}, 38, 37, 45, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28, 33], 52, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], (52), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], {52}, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], 52, {38}, (37), 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, (45), 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, (68), 61, 69, 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, 68, (61), 69, 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, 68, 61, (69), 87, 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, 68, 61, 69, (87), 78, 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, 68, 61, 69, 87, (78), 90
- [19, 25, 28, 33], 52, 38, {37}, 45, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28, 33, 37], 52, 38, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], (52), 38, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], {52}, (38), 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, (45), 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, (68), 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, 68, (61), 69, 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, 68, 61, (69), 87, 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, 68, 61, 69, (87), 78, 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, 68, 61, 69, 87, (78), 90
- [19, 25, 28, 33, 37], 52, {38}, 45, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28, 33, 37, 38], 52, 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], (52), 45, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], {52}, (45), 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, (68), 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, 68, (61), 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, 68, 61, (69), 87, 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, 68, 61, 69, (87), 78, 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, 68, 61, 69, 87, (78), 90
- [19, 25, 28, 33, 37, 38], 52, {45}, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45], 52, 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], (52), 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, (68), 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, 68, (61), 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, 68, 61, (69), 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, 68, 61, 69, (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, 68, 61, 69, 87, (78), 90
- [19, 25, 28, 33, 37, 38, 45], {52}, 73, 68, 61, 69, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45, 52], 73, 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], (73), 68, 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], {73}, (68), 61, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], 73, {68}, (61), 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], 73, 68, {61}, (69), 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], 73, 68, {61}, 69, (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52], 73, 68, {61}, 69, 87, (78), 90
- [19, 25, 28, 33, 37, 38, 45, 52], 73, 68, {61}, 69, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61], 73, 68, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], (73), 68, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], {73}, (68), 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], 73, {68}, (69), 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], 73, {68}, 69, (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], 73, {68}, 69, 87, (78), 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61], 73, {68}, 69, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], 73, 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], (73), 69, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], {73}, (69), 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], 73, {69}, (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], 73, {69}, 87, (78), 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68], 73, {69}, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69], 73, 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69], (73), 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69], {73}, (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69], {73}, 87, (78), 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69], {73}, 87, 78, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73], 87, 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73], (87), 78, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73], {87}, (78), 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73], 87, {78}, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78], 87, 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78], (87), 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78], {87}, (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, 87], 90
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, 87], (90)
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, 87, 90]
As a result, it takes 135 steps. However, your friend can get a result like below. Notice that I marked revered book by !.
- (52), 33, 25, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- {52}, (33), 25, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33], {52}, 25, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33], {52}, (25), 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25], {52}, 19, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25], {52}, (19), 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19], {52}, 28, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19], {52}, (28), 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28], {52}, 38, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28], {52}, (38), 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38], {52}, 37, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38], {52}, (37), 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37], {52}, 45, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37], {52}, (45), 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, (73), 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, (68), 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, (61), 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, 61, (69), 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, 61, 69, (87), 78, 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, 61, 69, 87, (78), 90
- [33, 25, 19, 28, 38, 37, 45], {52}, 73, 68, 61, 69, 87, 78, (90)
- [33, 25, 19, 28, 38, 37, 45, !52!], 73, 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!], (73), 68, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!], {73}, (68), 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68], {73}, 61, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68], {73}, (61), 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61], {73}, 69, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61], {73}, (69), 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69], {73}, 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69], {73}, (87), 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69], {73}, 87, (78), 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69], {73}, 87, 78, (90)
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!], 87, 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!], (87), 78, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!], {87}, (78), 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!, 78], {87}, 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!, 78], {87}, (90)
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!, 78, !87!], 90
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!, 78, !87!], (90)
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61, 69, !73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 68, 61], 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 68], 61, 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!], 68, 61, 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!], (68), 61, 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!], {68}, (61), 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 61], {68}, 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 61], {68}, (69), [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 61, !68!], 69, [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 61, !68!], (69), [!73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, 61, !68!, !69!, !73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!], 61, [!68!, !69!, !73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!], (61), [!68!, !69!, !73!, 78, !87!, !90!]
- [33, 25, 19, 28, 38, 37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, [25, 19, 28, 38, 37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, [19, 28, 38, 37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, 19, [28, 38, 37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, 19, 28, [38, 37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, 19, 28, 38, [37, 45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, 19, 28, 38, 37, [45, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 33, 25, 19, 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- (33), 25, 19, 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- {33}, (25), 19, 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25], {33}, 19, 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25], {33}, (19), 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19], {33}, 28, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19], {33}, (28), 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28], {33}, 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28], {33}, (38), 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28], {33}, 38, (37), 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28], {33}, 38, 37, (45), [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!], 38, 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!], (38), 37, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!], {38}, (37), 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!, 37], {38}, 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!, 37], {38}, (45), [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!, 37, !38!], 45, [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!, 37, !38!], (45), [!52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [25, 19, 28, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 25, [19, 28, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 25, 19, [28, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 25, 19, 28, [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- (25), 19, 28, [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- {25}, (19), 28, [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [19], {25}, 28, [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [19], {25}, (28), [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [19, !25!], 28, [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [19, !25!], (28), [!33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [19, !25!, !28!, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- 19, [!25!, !28!, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- (19), [!25!, !28!, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [!19!, !25!, !28!, !33!, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [!19!, !25!, !28!, !33!], 37, [!38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [!19!, !25!, !28!, !33!], (37), [!38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [!19!, !25!, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, 78, !87!, !90!]
- [!19!, !25!, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!], 78, [!87!, !90!]
- [!19!, !25!, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!], (78), [!87!, !90!]
- [!19!, !25!, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, !25!, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, !28!, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, !33!, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, !37!, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, !38!, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, !45!, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, !52!, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, !61!, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, !68!, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, !69!, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, !73!, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, !78!, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, !87!, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, 87, !90!]
- [19, 25, 28, 33, 37, 38, 45, 52, 61, 68, 69, 73, 78, 87, 90]
As a result, your friend can get a result in 113 step. Which means 19% faster than you are.
To solve this problem, we call both methods as sorting algorithms. However, it shows different perforamce as you can see. From the next time, it will focused on the performance of the algorithm and comparison between them.