SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Universidade Federal de Ouro Preto
Instituto de Ciências Exatas e Biológicas
Departamento de Computação
Cálculo Numérico
Segundo Trabalho Prático
Johnnatan Messias P. Afonso
Rafaella Bicalho da Rocha
Professor - José Álvaro Tadeu Ferreira
Ouro Preto
21 de junho de 2010
Sumário
1 Denição do Problema 1
2 Modelagem Matemática 1
3 Solução Numérica 1
4 Obtenção dos Resultados 2
4.1 1a
Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4.2 Aplicação do Teorema do Valor Médio . . . . . . . . . . . . . . . . . 3
4.3 O Resultado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5 Análise dos Resultados 3
6 Bubble Sort 3
Lista de Figuras
1 Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Tabela dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Lista de Programas
1 Algoritmo BubbleSort . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2
1 Denição do Problema
Realizando testes com o método de ordenação BubbleSort obteve-se o seguinte
resultado de tempo, em segundos, para as quantidades de elementos a serem orde-
nados:
Figura 1: Tabela
Através dessa tabela de resultados deseja-se obter uma estimativa de tempo
médio da execução do algoritmo.
2 Modelagem Matemática
Como a função é contínua no intervalo fechado [a;b] tal que a= 0 e b= 200000,
pode-se utilizar o método de integração numérica.
3 Solução Numérica
Foi utilizado o método de integração 1a
Regra de Simpson, uma vez que o inter-
valo foi dividido em 8 partes de mesmo tamanho de passo 25000.
Para calcular o tempo médio de execução do algoritmo precisaremos aplicar além
da 1a
Regra de Simpson, o Teorema do Valor Médio aplicado a Integrais.
Sendo f é uma função contínua em [a,b], e de acordo com o Teorema do Valor
Médio aplicado a Integrais, então existe um z(a,b), tal que:
f(z) =
1
b − a
b
a
f(x).dx (1)
1
4 Obtenção dos Resultados
Figura 2: Tabela dos Resultados
4.1 1
a Regra de Simpson
200000
0
f(x).dx (2)
Para n = 8:
h =
b − a
n
(3)
logo h = 25000
Pela 1a
Regra de Simpson, temos:
I =
h
3
(Y0 + 4Y1 + 2Y2 + 4Y3 + 2Y4 + 4Y5 + 2Y6 + 4Y7 + Y8) (4)
Considerando que:
(Y0 + 4Y1 + 2Y2 + 4Y3 + 2Y4 + 4Y5 + 2Y6 + 4Y7 + Y8) =
8
i=0
Ci.Yi (5)
8
i=0
Ci.Yi = 5546, 22 (6)
I =
25000
3
8
i=0
Ci.Yi = 46218500 (7)
2
4.2 Aplicação do Teorema do Valor Médio
Pelo Teorema do Valor Médio aplicado a Integrais, temos:
f(z) =
1
200000 − 0
200000
0
f(x).dx (8)
Onde f(z) é o tempo médio gasto para a execução do algoritmo.
4.3 O Resultado
De acordo com os dados anteriores, temos que:
200000
0
f(x).dx = 46218500 (9)
então,
f(z) =
1
200000 − 0
∗ 46218500 (10)
Logo,
f(z) = 231,09 ∼= 231, 1 segundos
5 Análise dos Resultados
O resultado obtido é coerente com o tempo médio previsto para a ordenação de
todos os elementos, uma vez que 231, 1 ∈ [0; 694, 78]
6 Bubble Sort
BubbleSort é um simples método de ordenação que verica todas as posições do
vetor a m de ordená-lo, comparando todos os elementos.
Para esse trabalho utilizou-se o seguinte algoritmo em C:
void BubbleSort ( TArray∗ pA)
{
int i , j ;
TItem aux ;
5 for ( i =0; i pA−Size −1; i ++)
{
for ( j =1; jpA−Size −i ; j++)
{
i f (pA−P o s i t i o n s [ j ] . keypA−P o s i t i o n s [ j −1]. key )
10 {
aux = pA−P o s i t i o n s [ j ] ;
pA−P o s i t i o n s [ j ]=pA−P o s i t i o n s [ j −1];
pA−P o s i t i o n s [ j −1]=aux ;
}
15 }
}
}
Programa 1: Algoritmo BubbleSort
3
Ainda é possível otimizá-lo bastando-se incluir uma variável trocaque veri-
que se houve uma troca de posições dos elementos do vetor, diminuindo o tempo
necessário para a execução do algoritmo bem como o número de comparações.
Possui ordem de complexidade em número de comparações On2
, isto é:
O(n) =
n−2
i=0
n − i − 1 =
n−2
i=0
n −
n−2
i=0
i −
n−2
i=0
1 =
n2
− n
2
(11)
[1]
Na prática esse algoritmo não é comumente utilizado para ordenação de uma
grande quantidade de elementos, uma vez que é muito lento para execução, por isso
frequentemente, em computação, utiliza-se o método QuickSort. O QuickSort é o
algoritmo de ordenação interna (Memória RAM) mais rápido que se conhece e em
seu melhor caso possui ordem de complexidade n log(n), ou seja, O(n log(n)). [2]
Referências
[1] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação I SelectSort,
InsertSort, BubbleSort. 2009.
[2] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação III QuickSort.
2009.
4

Weitere ähnliche Inhalte

Was ist angesagt? (17)

Mtm basica 25.09
Mtm basica 25.09Mtm basica 25.09
Mtm basica 25.09
 
Td 13 matemática ii
Td 13   matemática iiTd 13   matemática ii
Td 13 matemática ii
 
E6 calc1
E6 calc1E6 calc1
E6 calc1
 
9 mat prepti_pf_vii_abr2014_sol
9 mat prepti_pf_vii_abr2014_sol9 mat prepti_pf_vii_abr2014_sol
9 mat prepti_pf_vii_abr2014_sol
 
Funções (exercícios)
Funções (exercícios)Funções (exercícios)
Funções (exercícios)
 
Lista1 amazonas
Lista1 amazonasLista1 amazonas
Lista1 amazonas
 
8mat ft3 jan2013_sol_prov
8mat ft3 jan2013_sol_prov8mat ft3 jan2013_sol_prov
8mat ft3 jan2013_sol_prov
 
Final do 9º ano
Final do 9º anoFinal do 9º ano
Final do 9º ano
 
Final do 1º ano
Final do 1º anoFinal do 1º ano
Final do 1º ano
 
Logaritimos
LogaritimosLogaritimos
Logaritimos
 
Ft oper mono_poli
Ft oper mono_poliFt oper mono_poli
Ft oper mono_poli
 
Aula1a4
Aula1a4Aula1a4
Aula1a4
 
Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)
 
Programação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma MáximaProgramação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma Máxima
 
Exercícios Voyage 200
Exercícios Voyage 200Exercícios Voyage 200
Exercícios Voyage 200
 
Apostila função do 1 grau
Apostila   função do 1 grauApostila   função do 1 grau
Apostila função do 1 grau
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 

Ähnlich wie Cálculo Numérico: Integração Numérica com Bubble Sort

13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
Ricardo Bolanho
 
Conemat 2010 - Aplicação de alguns métodos de Runge Kutta
Conemat 2010 - Aplicação de alguns métodos de Runge KuttaConemat 2010 - Aplicação de alguns métodos de Runge Kutta
Conemat 2010 - Aplicação de alguns métodos de Runge Kutta
Rodrigo Romais
 
Análise de Disco, I/O e Processamento
Análise de Disco, I/O e ProcessamentoAnálise de Disco, I/O e Processamento
Análise de Disco, I/O e Processamento
Johnnatan Messias
 

Ähnlich wie Cálculo Numérico: Integração Numérica com Bubble Sort (20)

Cálculo Numérico: Interpolação Polinomial com Bubble Sort
Cálculo Numérico: Interpolação Polinomial com Bubble SortCálculo Numérico: Interpolação Polinomial com Bubble Sort
Cálculo Numérico: Interpolação Polinomial com Bubble Sort
 
Processamento Paralelo exemplo do Crivo de Erstótenes Paralelo e Sequencial
Processamento Paralelo exemplo do Crivo de Erstótenes Paralelo e SequencialProcessamento Paralelo exemplo do Crivo de Erstótenes Paralelo e Sequencial
Processamento Paralelo exemplo do Crivo de Erstótenes Paralelo e Sequencial
 
Análise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenaçãoAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação
 
Trabalho de Cálculo Numérico
Trabalho  de Cálculo NuméricoTrabalho  de Cálculo Numérico
Trabalho de Cálculo Numérico
 
Trabalho de Cálculo numérico
Trabalho de Cálculo numéricoTrabalho de Cálculo numérico
Trabalho de Cálculo numérico
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Conemat 2010 - Aplicação de alguns métodos de Runge Kutta
Conemat 2010 - Aplicação de alguns métodos de Runge KuttaConemat 2010 - Aplicação de alguns métodos de Runge Kutta
Conemat 2010 - Aplicação de alguns métodos de Runge Kutta
 
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
 
Controlador de velocidade de máquina a vapor.
Controlador de velocidade de máquina a vapor.Controlador de velocidade de máquina a vapor.
Controlador de velocidade de máquina a vapor.
 
Análise de Disco, I/O e Processamento
Análise de Disco, I/O e ProcessamentoAnálise de Disco, I/O e Processamento
Análise de Disco, I/O e Processamento
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
Análise de Sistemas II - Modelamento e identificação de sistemas
Análise de Sistemas II - Modelamento e identificação de sistemasAnálise de Sistemas II - Modelamento e identificação de sistemas
Análise de Sistemas II - Modelamento e identificação de sistemas
 
Passo adaptativo stiff
Passo adaptativo stiffPasso adaptativo stiff
Passo adaptativo stiff
 
Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas lineares
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de Ordenação
 
Introdução aos Logaritmos Objeto de Aprendizagem
Introdução aos Logaritmos   Objeto de AprendizagemIntrodução aos Logaritmos   Objeto de Aprendizagem
Introdução aos Logaritmos Objeto de Aprendizagem
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 
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
 
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...
 

Mehr von Johnnatan Messias

Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Johnnatan Messias
 
Twitter and Youtube Collector
Twitter and Youtube CollectorTwitter and Youtube Collector
Twitter and Youtube Collector
Johnnatan Messias
 
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de AvisosAvaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
Johnnatan Messias
 

Mehr von Johnnatan Messias (11)

AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)
 
MyShell - English
MyShell - EnglishMyShell - English
MyShell - English
 
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
 
Twitter and Youtube Collector
Twitter and Youtube CollectorTwitter and Youtube Collector
Twitter and Youtube Collector
 
MyShell
MyShellMyShell
MyShell
 
Quadro de Avisos - IHC
Quadro de Avisos - IHCQuadro de Avisos - IHC
Quadro de Avisos - IHC
 
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de AvisosAvaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
Avaliação de Usabilidade, Comunicabilidade e Acessibilidade - Quadro de Avisos
 
Lista Encadeada - TP2_AEDSI
Lista Encadeada - TP2_AEDSILista Encadeada - TP2_AEDSI
Lista Encadeada - TP2_AEDSI
 
Simulador Funcional
Simulador FuncionalSimulador Funcional
Simulador Funcional
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
 
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
 

Kürzlich hochgeladen

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 

Kürzlich hochgeladen (20)

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 

Cálculo Numérico: Integração Numérica com Bubble Sort

  • 1. Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação Cálculo Numérico Segundo Trabalho Prático Johnnatan Messias P. Afonso Rafaella Bicalho da Rocha Professor - José Álvaro Tadeu Ferreira Ouro Preto 21 de junho de 2010
  • 2. Sumário 1 Denição do Problema 1 2 Modelagem Matemática 1 3 Solução Numérica 1 4 Obtenção dos Resultados 2 4.1 1a Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4.2 Aplicação do Teorema do Valor Médio . . . . . . . . . . . . . . . . . 3 4.3 O Resultado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 Análise dos Resultados 3 6 Bubble Sort 3 Lista de Figuras 1 Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Tabela dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Lista de Programas 1 Algoritmo BubbleSort . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2
  • 3. 1 Denição do Problema Realizando testes com o método de ordenação BubbleSort obteve-se o seguinte resultado de tempo, em segundos, para as quantidades de elementos a serem orde- nados: Figura 1: Tabela Através dessa tabela de resultados deseja-se obter uma estimativa de tempo médio da execução do algoritmo. 2 Modelagem Matemática Como a função é contínua no intervalo fechado [a;b] tal que a= 0 e b= 200000, pode-se utilizar o método de integração numérica. 3 Solução Numérica Foi utilizado o método de integração 1a Regra de Simpson, uma vez que o inter- valo foi dividido em 8 partes de mesmo tamanho de passo 25000. Para calcular o tempo médio de execução do algoritmo precisaremos aplicar além da 1a Regra de Simpson, o Teorema do Valor Médio aplicado a Integrais. Sendo f é uma função contínua em [a,b], e de acordo com o Teorema do Valor Médio aplicado a Integrais, então existe um z(a,b), tal que: f(z) = 1 b − a b a f(x).dx (1) 1
  • 4. 4 Obtenção dos Resultados Figura 2: Tabela dos Resultados 4.1 1 a Regra de Simpson 200000 0 f(x).dx (2) Para n = 8: h = b − a n (3) logo h = 25000 Pela 1a Regra de Simpson, temos: I = h 3 (Y0 + 4Y1 + 2Y2 + 4Y3 + 2Y4 + 4Y5 + 2Y6 + 4Y7 + Y8) (4) Considerando que: (Y0 + 4Y1 + 2Y2 + 4Y3 + 2Y4 + 4Y5 + 2Y6 + 4Y7 + Y8) = 8 i=0 Ci.Yi (5) 8 i=0 Ci.Yi = 5546, 22 (6) I = 25000 3 8 i=0 Ci.Yi = 46218500 (7) 2
  • 5. 4.2 Aplicação do Teorema do Valor Médio Pelo Teorema do Valor Médio aplicado a Integrais, temos: f(z) = 1 200000 − 0 200000 0 f(x).dx (8) Onde f(z) é o tempo médio gasto para a execução do algoritmo. 4.3 O Resultado De acordo com os dados anteriores, temos que: 200000 0 f(x).dx = 46218500 (9) então, f(z) = 1 200000 − 0 ∗ 46218500 (10) Logo, f(z) = 231,09 ∼= 231, 1 segundos 5 Análise dos Resultados O resultado obtido é coerente com o tempo médio previsto para a ordenação de todos os elementos, uma vez que 231, 1 ∈ [0; 694, 78] 6 Bubble Sort BubbleSort é um simples método de ordenação que verica todas as posições do vetor a m de ordená-lo, comparando todos os elementos. Para esse trabalho utilizou-se o seguinte algoritmo em C: void BubbleSort ( TArray∗ pA) { int i , j ; TItem aux ; 5 for ( i =0; i pA−Size −1; i ++) { for ( j =1; jpA−Size −i ; j++) { i f (pA−P o s i t i o n s [ j ] . keypA−P o s i t i o n s [ j −1]. key ) 10 { aux = pA−P o s i t i o n s [ j ] ; pA−P o s i t i o n s [ j ]=pA−P o s i t i o n s [ j −1]; pA−P o s i t i o n s [ j −1]=aux ; } 15 } } } Programa 1: Algoritmo BubbleSort 3
  • 6. Ainda é possível otimizá-lo bastando-se incluir uma variável trocaque veri- que se houve uma troca de posições dos elementos do vetor, diminuindo o tempo necessário para a execução do algoritmo bem como o número de comparações. Possui ordem de complexidade em número de comparações On2 , isto é: O(n) = n−2 i=0 n − i − 1 = n−2 i=0 n − n−2 i=0 i − n−2 i=0 1 = n2 − n 2 (11) [1] Na prática esse algoritmo não é comumente utilizado para ordenação de uma grande quantidade de elementos, uma vez que é muito lento para execução, por isso frequentemente, em computação, utiliza-se o método QuickSort. O QuickSort é o algoritmo de ordenação interna (Memória RAM) mais rápido que se conhece e em seu melhor caso possui ordem de complexidade n log(n), ou seja, O(n log(n)). [2] Referências [1] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação I SelectSort, InsertSort, BubbleSort. 2009. [2] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação III QuickSort. 2009. 4