SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Shellsort
 Shellsort is a simple extension of insertion sort that gains speed by allowing
exchanges of entries that are far apart.
 to produce partially sorted arrays that can be efficiently sorted by insertion sort
 The idea is to rearrange the array to give it the property that taking every hth entry
(starting anywhere) yields a sorted sequence.
 Such an array is said to be h-sorted.
(cont.)
Shellsort (cont.)
Shellsort (cont.)
h-sorting:
 By h-sorting for some large values of h, we can move entries in the array long
distances and thus make it easier to h-sort for smaller values of h.
 The number of compares used by shellsort with the increments 1, 4, 13, 40, 121,
364, ... is bounded by a small multiple of N times the number of increments used.
 The number of compares used by shellsort with the increments 1, 4, 13, 40, 121,
364, ... is O(N3/2).
Shellsort (cont.)
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 13
Shellsort (cont.)
h = 13
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
h = 13
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
h = 13
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
h = 13
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
h = 13
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
h = 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shellsort (cont.)
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55
9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55
9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55
9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55
4 14 14 25 9 62 56 98 30 12 88 21 80 77 70 55
4 12 14 25 9 14 56 98 30 62 88 21 80 77 70 55
4 12 14 25 9 14 56 98 30 62 88 21 80 77 70 55
4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55
4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55
4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55
4 12 14 21 9 14 56 25 30 62 70 98 80 77 88 55
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 4
Shellsort (cont.)
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 1
Shellsort (cont.)
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98
4 9 12 14 21 14 56 25 30 62 70 55 80 77 88 98
4 9 12 14 14 21 56 25 30 62 70 55 80 77 88 98
4 9 12 14 14 21 56 25 30 62 70 55 80 77 88 98
4 9 12 14 14 21 25 56 30 62 70 55 80 77 88 98
4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98
4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98
4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98
4 9 12 14 14 21 25 30 55 56 62 70 80 77 88 98
4 9 12 14 14 21 25 30 55 56 62 70 80 77 88 98
4 9 12 14 14 21 25 30 55 56 62 70 77 80 88 98
4 9 12 14 14 21 25 30 55 56 62 70 77 80 88 98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 1
Advantage of Shell Sort
• Faster than the ordinary insertion sort
• More efficient exchange of elements that are far from their
proper position
Shell sort
77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Insertion sort
4 12 14 14 21 25 30 56 62 77 80 88 98 9 70 55
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
12 elements to be shifted
1 element to be shifted
Shellsort (cont.)
Shellsort (cont.)
void shell_sort(int A[], int size)
{
int i, j, incrmnt, temp;
incrmnt = (size / 3) +1;
while (incrmnt > 0) {
for (i=incrmnt; i < size; i++) {
j = i;
temp = A[i];
while ((j >= incrmnt) && (A[j-incrmnt] > temp)) {
A[j] = A[j - incrmnt];
j = j - incrmnt;
}
A[j] = temp;
}
incrmnt = (incrmnt / 3) +1; }
}

Weitere ähnliche Inhalte

Ähnlich wie 8 elementary sorts-shell

Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pankaj Rathod
 
Push And Pull Production Systems Chap7 Ppt)
Push And Pull Production Systems   Chap7 Ppt)Push And Pull Production Systems   Chap7 Ppt)
Push And Pull Production Systems Chap7 Ppt)
3abooodi
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
udfjjsjekdkdmm
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
udfjjdjkksmmd
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
udfjjsjekdkdmm
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
udfjjdjkksmmd
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
fikksekdmmd
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
udfjjdjkksmmd
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
udfjjdjkksmmd
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
udfjjsjekdkdmm
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
udfjjsjekdkdmm
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
fikksekdmmd
 

Ähnlich wie 8 elementary sorts-shell (20)

Log11 uitwerking opdrachten
Log11 uitwerking opdrachtenLog11 uitwerking opdrachten
Log11 uitwerking opdrachten
 
project designa.docx
project designa.docxproject designa.docx
project designa.docx
 
Backwash blower-room
Backwash blower-roomBackwash blower-room
Backwash blower-room
 
Tema 12 diapositivas
Tema 12 diapositivasTema 12 diapositivas
Tema 12 diapositivas
 
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
 
Push And Pull Production Systems Chap7 Ppt)
Push And Pull Production Systems   Chap7 Ppt)Push And Pull Production Systems   Chap7 Ppt)
Push And Pull Production Systems Chap7 Ppt)
 
Triplex Cable Surround Data Sheet
Triplex Cable Surround Data SheetTriplex Cable Surround Data Sheet
Triplex Cable Surround Data Sheet
 
MOTOR STA FE G6EA-GSL.pdf
MOTOR STA FE G6EA-GSL.pdfMOTOR STA FE G6EA-GSL.pdf
MOTOR STA FE G6EA-GSL.pdf
 
Project 1
Project 1Project 1
Project 1
 
Data Structures : Sorting
Data Structures : SortingData Structures : Sorting
Data Structures : Sorting
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3640012-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3620019-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3630024-ct...
 
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
Claas celtis 456 426 ra rc rx tractor parts catalogue manual (sn ct3610008-ct...
 

Mehr von irdginfo

10 merge sort
10 merge sort10 merge sort
10 merge sort
irdginfo
 
9 big o-notation
9 big o-notation9 big o-notation
9 big o-notation
irdginfo
 
8 elementary sorts-bubble
8 elementary sorts-bubble8 elementary sorts-bubble
8 elementary sorts-bubble
irdginfo
 
8 elementary sorts-insertion
8 elementary sorts-insertion8 elementary sorts-insertion
8 elementary sorts-insertion
irdginfo
 
8 elementary sorts-selection
8 elementary sorts-selection8 elementary sorts-selection
8 elementary sorts-selection
irdginfo
 
7 searching injava-binary
7 searching injava-binary7 searching injava-binary
7 searching injava-binary
irdginfo
 
6 arrays injava
6 arrays injava6 arrays injava
6 arrays injava
irdginfo
 
5 data structures-hashtable
5 data structures-hashtable5 data structures-hashtable
5 data structures-hashtable
irdginfo
 
5 data structures-tree
5 data structures-tree5 data structures-tree
5 data structures-tree
irdginfo
 
5 data structures-stack
5 data structures-stack5 data structures-stack
5 data structures-stack
irdginfo
 
5 data structures-arraysandlinkedlist
5 data structures-arraysandlinkedlist5 data structures-arraysandlinkedlist
5 data structures-arraysandlinkedlist
irdginfo
 
4 character encoding-unicode
4 character encoding-unicode4 character encoding-unicode
4 character encoding-unicode
irdginfo
 
4 character encoding-ascii
4 character encoding-ascii4 character encoding-ascii
4 character encoding-ascii
irdginfo
 
4 character encoding
4 character encoding4 character encoding
4 character encoding
irdginfo
 
3 number systems-floatingpoint
3 number systems-floatingpoint3 number systems-floatingpoint
3 number systems-floatingpoint
irdginfo
 
2 number systems-scientificnotation
2 number systems-scientificnotation2 number systems-scientificnotation
2 number systems-scientificnotation
irdginfo
 
1 number systems-hex
1 number systems-hex1 number systems-hex
1 number systems-hex
irdginfo
 
1 number systems-unsignedsignedintegers
1 number systems-unsignedsignedintegers1 number systems-unsignedsignedintegers
1 number systems-unsignedsignedintegers
irdginfo
 
1 number systems-octal
1 number systems-octal1 number systems-octal
1 number systems-octal
irdginfo
 

Mehr von irdginfo (20)

Quicksort Presentation
Quicksort PresentationQuicksort Presentation
Quicksort Presentation
 
10 merge sort
10 merge sort10 merge sort
10 merge sort
 
9 big o-notation
9 big o-notation9 big o-notation
9 big o-notation
 
8 elementary sorts-bubble
8 elementary sorts-bubble8 elementary sorts-bubble
8 elementary sorts-bubble
 
8 elementary sorts-insertion
8 elementary sorts-insertion8 elementary sorts-insertion
8 elementary sorts-insertion
 
8 elementary sorts-selection
8 elementary sorts-selection8 elementary sorts-selection
8 elementary sorts-selection
 
7 searching injava-binary
7 searching injava-binary7 searching injava-binary
7 searching injava-binary
 
6 arrays injava
6 arrays injava6 arrays injava
6 arrays injava
 
5 data structures-hashtable
5 data structures-hashtable5 data structures-hashtable
5 data structures-hashtable
 
5 data structures-tree
5 data structures-tree5 data structures-tree
5 data structures-tree
 
5 data structures-stack
5 data structures-stack5 data structures-stack
5 data structures-stack
 
5 data structures-arraysandlinkedlist
5 data structures-arraysandlinkedlist5 data structures-arraysandlinkedlist
5 data structures-arraysandlinkedlist
 
4 character encoding-unicode
4 character encoding-unicode4 character encoding-unicode
4 character encoding-unicode
 
4 character encoding-ascii
4 character encoding-ascii4 character encoding-ascii
4 character encoding-ascii
 
4 character encoding
4 character encoding4 character encoding
4 character encoding
 
3 number systems-floatingpoint
3 number systems-floatingpoint3 number systems-floatingpoint
3 number systems-floatingpoint
 
2 number systems-scientificnotation
2 number systems-scientificnotation2 number systems-scientificnotation
2 number systems-scientificnotation
 
1 number systems-hex
1 number systems-hex1 number systems-hex
1 number systems-hex
 
1 number systems-unsignedsignedintegers
1 number systems-unsignedsignedintegers1 number systems-unsignedsignedintegers
1 number systems-unsignedsignedintegers
 
1 number systems-octal
1 number systems-octal1 number systems-octal
1 number systems-octal
 

Kürzlich hochgeladen

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 

8 elementary sorts-shell

  • 1. Shellsort  Shellsort is a simple extension of insertion sort that gains speed by allowing exchanges of entries that are far apart.  to produce partially sorted arrays that can be efficiently sorted by insertion sort  The idea is to rearrange the array to give it the property that taking every hth entry (starting anywhere) yields a sorted sequence.  Such an array is said to be h-sorted. (cont.)
  • 3. Shellsort (cont.) h-sorting:  By h-sorting for some large values of h, we can move entries in the array long distances and thus make it easier to h-sort for smaller values of h.  The number of compares used by shellsort with the increments 1, 4, 13, 40, 121, 364, ... is bounded by a small multiple of N times the number of increments used.  The number of compares used by shellsort with the increments 1, 4, 13, 40, 121, 364, ... is O(N3/2).
  • 4. Shellsort (cont.) 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 13
  • 5. Shellsort (cont.) h = 13 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 6. Shellsort (cont.) h = 13 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 7. Shellsort (cont.) h = 13 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 8. Shellsort (cont.) h = 13 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 9. Shellsort (cont.) h = 13 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 10. Shellsort (cont.) 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 h = 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 11. Shellsort (cont.) 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 62 14 25 30 14 56 98 4 12 88 21 80 77 70 55 9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55 9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55 9 14 14 25 30 62 56 98 4 12 88 21 80 77 70 55 4 14 14 25 9 62 56 98 30 12 88 21 80 77 70 55 4 12 14 25 9 14 56 98 30 62 88 21 80 77 70 55 4 12 14 25 9 14 56 98 30 62 88 21 80 77 70 55 4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55 4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55 4 12 14 21 9 14 56 25 30 62 88 98 80 77 70 55 4 12 14 21 9 14 56 25 30 62 70 98 80 77 88 55 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 4
  • 12. Shellsort (cont.) 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 1
  • 13. Shellsort (cont.) 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 4 12 14 21 9 14 56 25 30 62 70 55 80 77 88 98 4 9 12 14 21 14 56 25 30 62 70 55 80 77 88 98 4 9 12 14 14 21 56 25 30 62 70 55 80 77 88 98 4 9 12 14 14 21 56 25 30 62 70 55 80 77 88 98 4 9 12 14 14 21 25 56 30 62 70 55 80 77 88 98 4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98 4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98 4 9 12 14 14 21 25 30 56 62 70 55 80 77 88 98 4 9 12 14 14 21 25 30 55 56 62 70 80 77 88 98 4 9 12 14 14 21 25 30 55 56 62 70 80 77 88 98 4 9 12 14 14 21 25 30 55 56 62 70 77 80 88 98 4 9 12 14 14 21 25 30 55 56 62 70 77 80 88 98 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15h = 1
  • 14. Advantage of Shell Sort • Faster than the ordinary insertion sort • More efficient exchange of elements that are far from their proper position Shell sort 77 62 14 25 30 14 56 98 4 12 88 21 80 9 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Insertion sort 4 12 14 14 21 25 30 56 62 77 80 88 98 9 70 55 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 12 elements to be shifted 1 element to be shifted
  • 16. Shellsort (cont.) void shell_sort(int A[], int size) { int i, j, incrmnt, temp; incrmnt = (size / 3) +1; while (incrmnt > 0) { for (i=incrmnt; i < size; i++) { j = i; temp = A[i]; while ((j >= incrmnt) && (A[j-incrmnt] > temp)) { A[j] = A[j - incrmnt]; j = j - incrmnt; } A[j] = temp; } incrmnt = (incrmnt / 3) +1; } }