Upload
mohammed-hussein
View
501
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Analysis of running time O(n²): Bubble Sort Insertion Sort Selection Sort
Citation preview
Eng: Mohammed Hussein1
Republic of Yemen
THAMAR UNIVERSITY
Faculty of Computer Science&
Information System
Lecturer, and Researcher at Thamar University
By Eng: Mohammed Hussein
Outlines
Analysis of running time
O(n² ):
Bubble Sort
Insertion Sort
Selection Sort
2 Eng: Mohammed Hussein
Sorting Algorithms:
Eng: Mohammed Hussein3
There are some classes of Sorting Algorithms:
O(n² ):
Bubble Sort
Insertion Sort
Selection Sort
Shell Sort
Bubble sort
Bubble sort, is a simple sorting algorithm that works by repeatedly stepping through the
list to be sorted, comparing each pair of adjacent items and swapping them if they are in
the wrong order.
The pass through the list is repeated until no swaps are needed, which indicates that the list
is 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. Although
the algorithm is simple, some other algorithms are more efficient for sorting large lists.
4 Eng: Mohammed Hussein
Bubble sort code
Eng: Mohammed Hussein5
Bubble sort
Sorting is one of the most common operations in programming;
it is used everywhere from email programs to databases, wherever
there is a list of data.
The bubble sort algorithm applied to this list of four names can be
illustrated graphically in a sequence like this:
The dark gray represents a comparison and the white represents a
swap.
6 Eng: Mohammed Hussein
Bubble sort example
7 Eng: Mohammed Hussein
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 complexity is 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 memory space.
7. Online; i.e., can sort a list as it receives it.
8 Eng: Mohammed Hussein
Insertion sort is a simple sorting
algorithm: a comparison sort in which
the sorted array (or list) is built one
entry at a time.
Insertion sort code The first four elements have already
been sorted. The fifth element, 7, is being inserted into the sorted list. After the next comparison and swap, the array looks like this.
Continuing with the insertion of this element. We make comparisons with each of the elements in front of the 7 and swap them if they are out of order. In this particular insertion, the 7 moves all the way to the front of the array. if the 7 were larger than some of the other
elements we would make fewer comparisons and
swaps; that is how the insertion sort gains a speed
advantage over the bubble sort.9 Eng: Mohammed Hussein
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 element
for a presorted list, so we only need n comparison.
The convenient concept of this algorithm, we can insert new elements at
any time with a sorted array, which make this algorithm used in practice.
The insertion sort compares adjacent elements and swaps them if they are
out of order. However, the insertion sort gains some added efficiency by
maintaining a sorted list that we insert elements into.
So, it is much less efficient on large lists than more advanced algorithms
such as quick sort, heap sort, or merge sort.
10 Eng: Mohammed Hussein
Insertion sort example
11 Eng: Mohammed Hussein
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, and generally performs worse than the similar insertion sort.
Selection sort is noted for its simplicity, and also has performance advantages over more complicated algorithms in certain situations, particularly where auxiliary memory is limited.
12 Eng: Mohammed Hussein
Selection sort code
The algorithm works as follows:
Find the minimum value in the list
Swap it with the value in the first
position.
Repeat the steps above for the
remainder of the list (starting at the
second position and advancing each
time).
13 Eng: Mohammed Hussein
Selection sort example
14 Eng: Mohammed Hussein
Reference
Wikipedia, the free encyclopedia
XoaX.net
15 Eng: Mohammed Hussein