SlideShare una empresa de Scribd logo
1 de 3
Centro Universitário do Sul de Minas – UNIS-MG
Unidade de Gestão da Educação Superior Presencial – GEP
Ciência da Computação

Complexidade de Algoritmos Insertion, Selection e Bubble Sort
Análise de Algoritmos

Professor Renan Levenhagen Bustamante Neves

Júlio Cezar Ferreira Rocha

Varginha
2013
1 - Complexidade de Algoritmos Bubble Sort
As operações de comparações e de troca de posição de elementos são executadas no Pior
Caso, o algoritmo realizará n-1 troca para o primeiro passo, depois n-2 trocas para o segundo
elemento e assim sucessivamente. Trocas = n-1+n-2+n-3...+2+1 aproximadamente n2 trocas.
No Melhor Caso, nenhuma troca será realizada, pois em ambos os casos o algoritmo faz da
ordem n comparações.
Complexidade no tempo: Comportamento do algoritmo no tempo, em função do tamanho
da entrada.
Complexidade no espaço: Consumo de memória do algoritmo, em função do tamanho da
entrada.
O tempo gasto na execução do algoritmo varia em ordem quadrática em relação ao
número de elementos a serem ordenados.
- T = O (n²) – Notação “Big O”
- Atividades mais custosas:
• Comparações
• Troca de Posição (swap)
Melhor caso: Vetor Ordenado.
Pior caso: Vetor invertido.

2 - Complexidade de Algoritmos Selection Sort
A operação entre as chaves é feita no loop k, para cada valor de i são realizadas (i-1)
comparações no loop, como i varia de 2 até n, o número total de comparações para ordenar a
lista toda é que para qualquer valor de i existe no máximo uma troca, se no caso a lista já
estiver ordenada não ocorre troca. Pior caso existe uma troca para cada loop de k (n-1) para
cada troca exige três movimentos. O algoritmo de seleção é considerado um dos mais simples,
além disso, possui uma característica eficiente quanto à quantidade de movimentações de
registros, com um tempo de execução linear no tamanho de entrada. Geralmente é utilizado
para arquivos de registros maiores com até 1000 registros.
- T = O(n²)
O fato de o conjunto já estar ordenado não ajuda em nada. O algoritmo não é estável, isto
é, os registros com chaves iguais nem sempre irão manter a mesma posição relativa de antes
do início da ordenação.

3 – Complexidade de Algoritmos Insertion Sort
Se o valor a ordenar possui n elementos, então o algoritmo realizará n – 1 etapas.
Quantas comparações e trocas serão realizadas?
• No melhor caso, vetor ordenado, serão realizadas 1 comparação e 1 troca por
etapa, um total de (n-1) comparações e (n-1) trocas.
• No pior caso, vetor em ordem inversa, serão realizadas sucessivamente 1,2,3,... n1 comparações e trocas.
A soma dos termos dessa progressão aritmética será n²/2.
Pode ser demonstrado que para um vetor aleatório, o número aproximado de
comparações e trocas é n²/4.
Portanto, a complexidade deste algoritmo é quadrática.
- T = O(n²).
No anel mais interno, na i-ésima iteração, o valor de Ci é: Melhor caso: Ci(número de
comparações) = 1 Pior caso: Ci(número de comparações) = i Caso médio: Ci(número de
comparações) = 1/i(1 + 2 + ... + i) = (i+1)/2 Se todas as permutações de n são igualmente
prováveis para o caso médio, então, o número de comparações é igual a: Melhor caso: C(n) =
(1 + 1 + ... + 1) = n - 1 Pior caso: C(n) = (2 + 3 + ... + n) = n2/2 + n/2 - 1 Caso médio: C(n) =
1/2(3 + 4 + ... + n+1) = n2/4 + 3n/4 – 1 O número de movimentações na i-ésima iteração é
igual a Mi(n) = Ci(n) – 1 + 3 = Ci(n) + 2 logo, o número de movimentos é igual a: Melhor
caso: M(número de elementos do arquivo) = (3 + 3 + ... + 3) = 3(n – 1) Pior caso: M(número
de elementos do arquivo) = (4 + 5 + ... + n+2) = n2/2 + 5n/2 – 3 Caso médio: M(número de
elementos do arquivo) = 1/2(5 + 6 + ... + n+3) = n2/4 + 11n/4 – 3 Deste modo podemos
concluir que: Melhor caso: O(n) Pior caso: O(n2) Caso médio: O(n2) O menor número de
comparações e trocas ocorre exatamente quando os elementos estão originalmente em ordem,
e o número máximo de comparações e trocas ocorre quando os itens estão originalmente na
ordem oposta. Para arquivos já ordenados o algoritmo descobre a um custo O(n) que cada
item já está em seu lugar. Então, este é o método a ser utilizado quando o arquivo está
ordenado na sua origem. É também um método bom para adicionar um pequeno conjunto de
dados a um arquivo já ordenado, originando um outro arquivo ordenado, pois neste caso o
custo pode ser considerado linear.

4 - Bibliografia
Alves, Ms. Daniel Arndt. Estrutura de Dados II. Insertion Sort. São Paulo. 2009.
Alves, Ms. Daniel Arndt. Estrutura de Dados II. Selection Sort. São Paulo. 2009.
Alves, Ms. Daniel Arndt. Estrutura de Dados II. Bubble Sort. São Paulo. 2009.
Junior, Vilson Heck. Introdução a Complexidade de Algoritmos. São Paulo. 2008.
Prestes, Edson. Complexidade de Algoritmos. Rio de Janeiro. 2007.
Silva, Cândida Nunes. Complexidade de Algoritmos I. Rio de Janeiro. 2011.

Más contenido relacionado

La actualidad más candente

Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetoresalfredtaddeus
 
Cefet mg-2011-1-prova-completa-c-gabarito (1)
Cefet mg-2011-1-prova-completa-c-gabarito (1)Cefet mg-2011-1-prova-completa-c-gabarito (1)
Cefet mg-2011-1-prova-completa-c-gabarito (1)LAURA BARROS
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaRanilson Paiva
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dadosThalita Chaves
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Marcos Castro
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosUlrich Schiel
 
Different types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with AnimationDifferent types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with AnimationZakaria Hossain
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordGabriel Albuquerque
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoElaine Cecília Gatto
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaDalton Martins
 
Insertion Sort Algorithm
Insertion Sort AlgorithmInsertion Sort Algorithm
Insertion Sort AlgorithmGail Carmichael
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Leinylson Fontinele
 

La actualidad más candente (20)

Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
 
Cefet mg-2011-1-prova-completa-c-gabarito (1)
Cefet mg-2011-1-prova-completa-c-gabarito (1)Cefet mg-2011-1-prova-completa-c-gabarito (1)
Cefet mg-2011-1-prova-completa-c-gabarito (1)
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à Disciplina
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Ordenação
OrdenaçãoOrdenação
Ordenação
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dados
 
Algoritmo Shell Sort
Algoritmo Shell SortAlgoritmo Shell Sort
Algoritmo Shell Sort
 
Ordenamiento por seleccion
Ordenamiento por seleccionOrdenamiento por seleccion
Ordenamiento por seleccion
 
Aula analise algoritmos
Aula analise algoritmosAula analise algoritmos
Aula analise algoritmos
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
Different types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with AnimationDifferent types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with Animation
 
Gnome sort
Gnome sortGnome sort
Gnome sort
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
 
Selection sort
Selection sortSelection sort
Selection sort
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de Repetição
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidiana
 
Insertion Sort Algorithm
Insertion Sort AlgorithmInsertion Sort Algorithm
Insertion Sort Algorithm
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
 

Destacado

métodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortmétodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortAlessandro Trevisan
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sortDaiana de Ávila
 
Análise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação InternaAnálise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação InternaJohnnatan Messias
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaDelacyr Ferreira
 
ShellSort - Ordenação
ShellSort - OrdenaçãoShellSort - Ordenação
ShellSort - OrdenaçãoAnderson Zardo
 
Apostila de Acordes
Apostila de Acordes  Apostila de Acordes
Apostila de Acordes Júlio Rocha
 
01 algorimos e complexidade introduç o
01   algorimos e complexidade introduç o01   algorimos e complexidade introduç o
01 algorimos e complexidade introduç oCravid Ekuikui
 
Metodo de Ordenação Selection sort
Metodo de Ordenação Selection sortMetodo de Ordenação Selection sort
Metodo de Ordenação Selection sortLeno Oliveira
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoDelacyr Ferreira
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesMauricio Volkweis Astiazara
 

Destacado (18)

métodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortmétodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sort
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Selection Sort
Selection SortSelection Sort
Selection Sort
 
Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sort
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Análise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação InternaAnálise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação Interna
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
ShellSort - Ordenação
ShellSort - OrdenaçãoShellSort - Ordenação
ShellSort - Ordenação
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Apostila de Acordes
Apostila de Acordes  Apostila de Acordes
Apostila de Acordes
 
01 algorimos e complexidade introduç o
01   algorimos e complexidade introduç o01   algorimos e complexidade introduç o
01 algorimos e complexidade introduç o
 
2 referencial teorico
2 referencial teorico2 referencial teorico
2 referencial teorico
 
Metodo de Ordenação Selection sort
Metodo de Ordenação Selection sortMetodo de Ordenação Selection sort
Metodo de Ordenação Selection sort
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 
Algoritmo de Rabin-Karp
Algoritmo de Rabin-KarpAlgoritmo de Rabin-Karp
Algoritmo de Rabin-Karp
 
Análise de algoritmo
Análise de algoritmoAnálise de algoritmo
Análise de algoritmo
 

Similar a Complexidade de algoritmos insertion, selection e bubble sort.

Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptssuserd654cb1
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmosPablo Silva
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfCaiqueMiranda7
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Análise Assintótica
Análise AssintóticaAnálise Assintótica
Análise AssintóticaMarcos Castro
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 13
(ACH2002) Introdução à Análise de Algoritmos - Aula 13(ACH2002) Introdução à Análise de Algoritmos - Aula 13
(ACH2002) Introdução à Análise de Algoritmos - Aula 13Norton Trevisan Roman
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em CCaique Silva
 

Similar a Complexidade de algoritmos insertion, selection e bubble sort. (14)

Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Pesquisa sequencial
Pesquisa sequencialPesquisa sequencial
Pesquisa sequencial
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdf
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
Análise Assintótica
Análise AssintóticaAnálise Assintótica
Análise Assintótica
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 13
(ACH2002) Introdução à Análise de Algoritmos - Aula 13(ACH2002) Introdução à Análise de Algoritmos - Aula 13
(ACH2002) Introdução à Análise de Algoritmos - Aula 13
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em C
 
shellsort.pdf
shellsort.pdfshellsort.pdf
shellsort.pdf
 

Complexidade de algoritmos insertion, selection e bubble sort.

  • 1. Centro Universitário do Sul de Minas – UNIS-MG Unidade de Gestão da Educação Superior Presencial – GEP Ciência da Computação Complexidade de Algoritmos Insertion, Selection e Bubble Sort Análise de Algoritmos Professor Renan Levenhagen Bustamante Neves Júlio Cezar Ferreira Rocha Varginha 2013
  • 2. 1 - Complexidade de Algoritmos Bubble Sort As operações de comparações e de troca de posição de elementos são executadas no Pior Caso, o algoritmo realizará n-1 troca para o primeiro passo, depois n-2 trocas para o segundo elemento e assim sucessivamente. Trocas = n-1+n-2+n-3...+2+1 aproximadamente n2 trocas. No Melhor Caso, nenhuma troca será realizada, pois em ambos os casos o algoritmo faz da ordem n comparações. Complexidade no tempo: Comportamento do algoritmo no tempo, em função do tamanho da entrada. Complexidade no espaço: Consumo de memória do algoritmo, em função do tamanho da entrada. O tempo gasto na execução do algoritmo varia em ordem quadrática em relação ao número de elementos a serem ordenados. - T = O (n²) – Notação “Big O” - Atividades mais custosas: • Comparações • Troca de Posição (swap) Melhor caso: Vetor Ordenado. Pior caso: Vetor invertido. 2 - Complexidade de Algoritmos Selection Sort A operação entre as chaves é feita no loop k, para cada valor de i são realizadas (i-1) comparações no loop, como i varia de 2 até n, o número total de comparações para ordenar a lista toda é que para qualquer valor de i existe no máximo uma troca, se no caso a lista já estiver ordenada não ocorre troca. Pior caso existe uma troca para cada loop de k (n-1) para cada troca exige três movimentos. O algoritmo de seleção é considerado um dos mais simples, além disso, possui uma característica eficiente quanto à quantidade de movimentações de registros, com um tempo de execução linear no tamanho de entrada. Geralmente é utilizado para arquivos de registros maiores com até 1000 registros. - T = O(n²) O fato de o conjunto já estar ordenado não ajuda em nada. O algoritmo não é estável, isto é, os registros com chaves iguais nem sempre irão manter a mesma posição relativa de antes do início da ordenação. 3 – Complexidade de Algoritmos Insertion Sort Se o valor a ordenar possui n elementos, então o algoritmo realizará n – 1 etapas. Quantas comparações e trocas serão realizadas? • No melhor caso, vetor ordenado, serão realizadas 1 comparação e 1 troca por etapa, um total de (n-1) comparações e (n-1) trocas. • No pior caso, vetor em ordem inversa, serão realizadas sucessivamente 1,2,3,... n1 comparações e trocas.
  • 3. A soma dos termos dessa progressão aritmética será n²/2. Pode ser demonstrado que para um vetor aleatório, o número aproximado de comparações e trocas é n²/4. Portanto, a complexidade deste algoritmo é quadrática. - T = O(n²). No anel mais interno, na i-ésima iteração, o valor de Ci é: Melhor caso: Ci(número de comparações) = 1 Pior caso: Ci(número de comparações) = i Caso médio: Ci(número de comparações) = 1/i(1 + 2 + ... + i) = (i+1)/2 Se todas as permutações de n são igualmente prováveis para o caso médio, então, o número de comparações é igual a: Melhor caso: C(n) = (1 + 1 + ... + 1) = n - 1 Pior caso: C(n) = (2 + 3 + ... + n) = n2/2 + n/2 - 1 Caso médio: C(n) = 1/2(3 + 4 + ... + n+1) = n2/4 + 3n/4 – 1 O número de movimentações na i-ésima iteração é igual a Mi(n) = Ci(n) – 1 + 3 = Ci(n) + 2 logo, o número de movimentos é igual a: Melhor caso: M(número de elementos do arquivo) = (3 + 3 + ... + 3) = 3(n – 1) Pior caso: M(número de elementos do arquivo) = (4 + 5 + ... + n+2) = n2/2 + 5n/2 – 3 Caso médio: M(número de elementos do arquivo) = 1/2(5 + 6 + ... + n+3) = n2/4 + 11n/4 – 3 Deste modo podemos concluir que: Melhor caso: O(n) Pior caso: O(n2) Caso médio: O(n2) O menor número de comparações e trocas ocorre exatamente quando os elementos estão originalmente em ordem, e o número máximo de comparações e trocas ocorre quando os itens estão originalmente na ordem oposta. Para arquivos já ordenados o algoritmo descobre a um custo O(n) que cada item já está em seu lugar. Então, este é o método a ser utilizado quando o arquivo está ordenado na sua origem. É também um método bom para adicionar um pequeno conjunto de dados a um arquivo já ordenado, originando um outro arquivo ordenado, pois neste caso o custo pode ser considerado linear. 4 - Bibliografia Alves, Ms. Daniel Arndt. Estrutura de Dados II. Insertion Sort. São Paulo. 2009. Alves, Ms. Daniel Arndt. Estrutura de Dados II. Selection Sort. São Paulo. 2009. Alves, Ms. Daniel Arndt. Estrutura de Dados II. Bubble Sort. São Paulo. 2009. Junior, Vilson Heck. Introdução a Complexidade de Algoritmos. São Paulo. 2008. Prestes, Edson. Complexidade de Algoritmos. Rio de Janeiro. 2007. Silva, Cândida Nunes. Complexidade de Algoritmos I. Rio de Janeiro. 2011.