![Page 1: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/1.jpg)
GBC034 - Ordenacao interna
Quicksort
Marcelo K. Albertini
26 de Junho de 2013
![Page 2: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/2.jpg)
Aula de hoje
Nesta aula veremos:
Quicksort
2/14
![Page 3: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/3.jpg)
Quicksort
Quicksort
Tony Hoare, Moscou, Uniao Sovietica, 1960
Aplicacao original: ordenar dicionario russo-ingles
3/14
![Page 4: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/4.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4
4/14
![Page 5: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/5.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )
4/14
![Page 6: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/6.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]
4/14
![Page 7: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/7.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
4/14
![Page 8: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/8.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r )
4/14
![Page 9: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/9.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )
4/14
![Page 10: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/10.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )
4/14
![Page 11: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/11.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e
4/14
![Page 12: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/12.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e15 inse reNoF im ( x , v e t o rMa i o r e s )
4/14
![Page 13: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/13.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e15 inse reNoF im ( x , v e t o rMa i o r e s )16
4/14
![Page 14: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/14.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e15 inse reNoF im ( x , v e t o rMa i o r e s )16 17 q u i c k s o r t ( ve to rMenore s ) // o rdena r os menores18
4/14
![Page 15: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/15.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e15 inse reNoF im ( x , v e t o rMa i o r e s )16 17 q u i c k s o r t ( ve to rMenore s ) // o rdena r os menores18 q u i c k s o r t ( v e t o rMa i o r e s ) // o rdena r os ma io r e s19
4/14
![Page 16: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/16.jpg)
Pseudo-codigo: quicksort simplificado
1 i n t [ ] q u i c k s o r t ( v e t o r ) 2 i f ( tamanho ( v e t o r ) <= 1) 3 r e t u r n ( v e t o r ) // v e t o r j a o rdenado4 5 // p i v o t e e l emento de r e f e r e n c i a para o rdena r6 p i v o t = e s c o l h e r E r emov e r ( v e t o r )7 // c r i a r v e t o r e s de e l emento s menores e ma io r e s8 ve to rMenore s = new i n t [ tamanho ( v e t o r ) ]9 v e t o rMa i o r e s = new i n t [ tamanho ( v e t o r ) ]
1011 f o r ( x i n v e t o r ) 12 i f ( x <= p i v o t )13 inse reNoF im ( x , ve to rMenore s )14 e l s e15 inse reNoF im ( x , v e t o rMa i o r e s )16 17 q u i c k s o r t ( ve to rMenore s ) // o rdena r os menores18 q u i c k s o r t ( v e t o rMa i o r e s ) // o rdena r os ma io r e s19 r e t u r n ( j u n t a r ( vetorMenores , p i vo t , v e t o rMa i o r e s ) ) ;20
4/14
![Page 17: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/17.jpg)
Escolha do pivot
1 p i v o t = e s c o l h e r E r emov e r ( v e t o r )
custo do algoritmo depende da escolha do pivot
possibilidades
o primeiro/ultimo elementoaleatorioo elemento do meioa mediana entre o primeiro, meio e ultimo
5/14
![Page 18: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/18.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
6/14
![Page 19: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/19.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
6/14
![Page 20: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/20.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
6/14
![Page 21: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/21.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
6/14
![Page 22: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/22.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
6/14
![Page 23: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/23.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
6/14
![Page 24: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/24.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
6/14
![Page 25: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/25.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
6/14
![Page 26: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/26.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
6/14
![Page 27: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/27.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
0 2 2 3 5 5 6
6/14
![Page 28: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/28.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
0 2 2 3 5 5 6
7 7
6/14
![Page 29: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/29.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
0 2 2 3 5 5 6
7 7
7 7
6/14
![Page 30: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/30.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
0 2 2 3 5 5 6
7 7
7 7
0 2 2 3 5 5 6 6 7 7
6/14
![Page 31: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/31.jpg)
Simulacao: pivot – o primeiro elemento
6 7 5 5 2 0 6 2 3 7
5 5 2 0 6 2 3 6 7 7
3 5 2 0 2 5 6
2 2 0 3 5
0 2 2
0 2
0 2
0 2 2
0 2 2 3 5
0 2 2 3 5 5 6
7 7
7 7
0 2 2 3 5 5 6 6 7 7
6/14
![Page 32: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/32.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
7/14
![Page 33: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/33.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
7/14
![Page 34: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/34.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7/14
![Page 35: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/35.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
7/14
![Page 36: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/36.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
7/14
![Page 37: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/37.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
7/14
![Page 38: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/38.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
7/14
![Page 39: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/39.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
7/14
![Page 40: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/40.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
7/14
![Page 41: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/41.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
7/14
![Page 42: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/42.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
7/14
![Page 43: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/43.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
7/14
![Page 44: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/44.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
7/14
![Page 45: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/45.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
2 4 4 5 6 7
7/14
![Page 46: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/46.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
2 4 4 5 6 7
2 4 4 5 6 7 8
7/14
![Page 47: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/47.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
2 4 4 5 6 7
2 4 4 5 6 7 8
2 4 4 5 6 7 8 9
7/14
![Page 48: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/48.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
2 4 4 5 6 7
2 4 4 5 6 7 8
2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 8 9
7/14
![Page 49: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/49.jpg)
Simulacao: pivot – o primeiro elemento – degeneracao
1 2 4 4 5 6 7 8 9
1 9 2 4 4 5 6 7 8
8 2 4 4 5 6 7 9
7 2 4 4 5 6 8
6 2 4 4 5 7
5 2 4 4 6
4 2 4 5
4 2 4
2 4
2 4
2 4 4
2 4 4 5
2 4 4 5 6
2 4 4 5 6 7
2 4 4 5 6 7 8
2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 8 9
7/14
![Page 50: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/50.jpg)
Pivot aleatorio
1 p u b l i c s t a t i c i n t e s c o l h e r P i v o t ( i n t [ ] v e t o r ) 23 Random s o r t e i o = new Random ( ) ;45 r e t u r n ( s o r t e i o . n e x t I n t ( v e t o r . l e n g t h ) ) ;6
8/14
![Page 51: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/51.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
9/14
![Page 52: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/52.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
9/14
![Page 53: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/53.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
9/14
![Page 54: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/54.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
9/14
![Page 55: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/55.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
9/14
![Page 56: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/56.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
9/14
![Page 57: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/57.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
9/14
![Page 58: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/58.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
1 2 4 4 5 6
9/14
![Page 59: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/59.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
1 2 4 4 5 6
8 9
9/14
![Page 60: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/60.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
1 2 4 4 5 6
8 9
8 9
9/14
![Page 61: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/61.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
1 2 4 4 5 6
8 9
8 9
1 2 4 4 5 6 7 8 9
9/14
![Page 62: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/62.jpg)
Simulacao: pivot aleatorio evita degeneracao
1 2 4 4 5 6 7 8 9
1 2 4 4 5 6 7 9 8
1 2 6 4 4 5
4 4 5 6
4 4
4 4
4 4 5 6
1 2 4 4 5 6
8 9
8 9
1 2 4 4 5 6 7 8 9
9/14
![Page 63: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/63.jpg)
Pivot mediana
1 p u b l i c s t a t i c i n t e s c o l h e rP i v o tMed i ana ( i n t [ ] v e t o r ) 23 i n t f im = ve t o r . l eng th −1;4 i n t meio = ( i n t ) v e t o r . l e n g t h /2 ;5 i n t comeco = 0 ;67 i f ( v e t o r [ f im ] > v e t o r [ meio ] ) 8 i f ( v e t o r [ meio ] > v e t o r [ comeco ] ) 9 r e t u r n ( meio ) ;
10 e l s e 11 r e t u r n ( comeco ) ;12 13 e l s e 14 i f ( v e t o r [ f im ] > v e t o r [ comeco ] ) 15 r e t u r n ( f im ) ;16 e l s e 17 r e t u r n ( comeco ) ;18 19 20
10/14
![Page 64: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/64.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
11/14
![Page 65: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/65.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
11/14
![Page 66: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/66.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
11/14
![Page 67: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/67.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
11/14
![Page 68: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/68.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
11/14
![Page 69: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/69.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
11/14
![Page 70: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/70.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
11/14
![Page 71: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/71.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
11/14
![Page 72: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/72.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
11/14
![Page 73: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/73.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
6 7
11/14
![Page 74: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/74.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
6 7
6 7 8
11/14
![Page 75: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/75.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
6 7
6 7 8
6 7 8 9
11/14
![Page 76: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/76.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
6 7
6 7 8
6 7 8 9
1 2 4 4 5 6 7 8 9
11/14
![Page 77: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/77.jpg)
Simulacao: pivot mediana
1 2 4 4 5 6 7 8 9
1 2 4 4 5 9 6 7 8
1 2 4 4
1 2 4
1 2 4
1 2 4 4
8 6 7 9
7 6 8
6 7
6 7
6 7 8
6 7 8 9
1 2 4 4 5 6 7 8 9
11/14
![Page 78: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/78.jpg)
Pivot mediana: propriedades
“Implementing Quicksort programs”, Robert Sedgewick
12/14
![Page 79: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/79.jpg)
Pivot mediana: propriedades
“Implementing Quicksort programs”, Robert Sedgewick
Estudos praticos sobre o Quicksort
12/14
![Page 80: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/80.jpg)
Pivot mediana: propriedades
“Implementing Quicksort programs”, Robert Sedgewick
Estudos praticos sobre o Quicksort
Recomenda o uso de pivot mediana
12/14
![Page 81: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/81.jpg)
Pivot mediana: propriedades
“Implementing Quicksort programs”, Robert Sedgewick
Estudos praticos sobre o Quicksort
Recomenda o uso de pivot mediana
Estatisticamente, o custo do Quicksort tende a ser menor paravetores maiores
12/14
![Page 82: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/82.jpg)
Quicksort: versoes
Existem muitas versoes do Quicksort
Em geral eles atuam no vetor original para fazer as particoes
economia de uso de espaco
Existem muitas otimizacoes
“A origem de todo o mal e a otimizacao precoce”, DonaldKnuth
13/14
![Page 83: GBC034 - Ordenação interna Quicksortalbertini/1sem2013/alg/aulas/aula07-ordenacao/… · Quicksort Quicksort Tony Hoare, Moscou, Uni˜ao Sovi´etica, 1960 Aplica¸c˜ao original:](https://reader034.vdocuments.mx/reader034/viewer/2022051916/60076d4e8e35d4021138d845/html5/thumbnails/83.jpg)
Custo: Quicksort simplificado
Custo e complexidade
Melhor caso, notacao Ω
altura da arvore de recursao
Pior Caso, notacao O
degeneracao
14/14