Upcoming SlideShare
×

# Sorting Algorithms

9,360 views

Published on

Bubble Sort
Insertion Sort
Selection Sort

23 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• thank you

Are you sure you want to  Yes  No
• تسلم استاذي

Are you sure you want to  Yes  No
Views
Total views
9,360
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
0
2
Likes
23
Embeds 0
No embeds

No notes for slide

### Sorting Algorithms

1. 1. Eng: Mohammed Hussein1Republic of YemenTHAMAR UNIVERSITYFaculty of Computer Science&Information System
2. 2. Outlines:Eng: Mohammed Hussein2 There are some classes of Sorting Algorithms: O(n² ): Bubble Sort Insertion Sort Selection Sort
3. 3. Bubble sort Bubble sort, is a simple sorting algorithm that works by repeatedly stepping through thelist to be sorted, comparing each pair of adjacent items and swapping them if they are inthe wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the listis sorted. The algorithm gets its name from the way smaller elements "bubble" to the top of the list.Because it only uses comparisons to operate on elements, it is a comparison sort.Althoughthe algorithm is simple, some other algorithms are more efficient for sorting large lists.3 Eng: Mohammed Hussein
4. 4. Bubble sort codeEng: Mohammed Hussein4
5. 5. Bubble sort Sorting is one of the most common operations in programming; it is used everywhere from email programs to databases, whereverthere is a list of data. The bubble sort algorithm applied to this list of four names can beillustrated graphically in a sequence like this: The dark gray represents a comparison and the white represents aswap.5 Eng: Mohammed Hussein
6. 6. Bubble sort example6 Eng: Mohammed Hussein
7. 7. Insertion sort The insertion sort provides several advantages:1. Simple implementation.2. Efficient for small data sets.3. Adaptive for data sets that are already substantially sorted: the time complexityis O(n + d), where d is the number of inversions.4. More efficient in practice than most other simple quadratic (i.e., O(n2))algorithms such as selection sort or bubble sort;5. Stable; i.e., does not change the relative order of elements with equal keys.6. In-place; i.e., only requires a constant amount O(1) of additional memoryspace.7. Online; i.e., can sort a list as it receives it.7 Eng: Mohammed HusseinInsertion sort is a simple sortingalgorithm: a comparison sort in whichthe sorted array (or list) is built oneentry at a time.
8. 8. Insertion sort code The first four elements have alreadybeen sorted.The fifth element, 7, isbeing inserted into the sorted list.After the next comparison andswap, the array looks like this. Continuing with the insertion ofthis element.We make comparisonswith each of the elements in frontof the 7 and swap them if they areout of order. In this particularinsertion, the 7 moves all the wayto the front of the array. if the 7 were larger than some of the otherelements we would make fewer comparisons andswaps; that is how the insertion sort gains a speedadvantage over the bubble sort.8 Eng: Mohammed Hussein
9. 9. Insertion sort It requires fewer comparisons than bubble sort, unless the list is backward. If the array is already sorted, it only requires one comparison per elementfor a presorted list, so we only need n comparison. The convenient concept of this algorithm, we can insert new elements atany time with a sorted array, which make this algorithm used in practice. The insertion sort compares adjacent elements and swaps them if they areout of order. However, the insertion sort gains some added efficiency bymaintaining a sorted list that we insert elements into. So, it is much less efficient on large lists than more advanced algorithmssuch as quick sort, heap sort, or merge sort.9 Eng: Mohammed Hussein
10. 10. Insertion sort example10 Eng: Mohammed Hussein
11. 11. Selection sort In computer science, a Selection sort is a sorting algorithm,specifically an in-place comparison sort. It has O(n2) time complexity, making it inefficient on large lists, andgenerally performs worse than the similar insertion sort. Selection sort is noted for its simplicity, and also has performanceadvantages over more complicated algorithms in certain situations,particularly where auxiliary memory is limited.11 Eng: Mohammed Hussein
12. 12. Selection sort code The algorithm works as follows: Find the minimum value in the list Swap it with the value in the firstposition. Repeat the steps above for theremainder of the list (starting at thesecond position and advancing eachtime).12 Eng: Mohammed Hussein
13. 13. Selection sort example13 Eng: Mohammed Hussein
14. 14. Reference Wikipedia, the free encyclopedia XoaX.net14 Eng: Mohammed Hussein