FACENS – Engenharia da Computação Lógica Computacional II

Slides:



Advertisements
Apresentações semelhantes
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Advertisements

Matrizes Unidimensionais
Estruturas de Dados Marcio Gonçalves.
ESTRUTURA DE DADOS EXERCÍCIOS e MATRIZES
Katia S. Guimarães QUICKSORT Katia S. Guimarães
Estruturas de Repetição
Linguagem de Programação IX Métodos de Ordenação
UNIVERSIDADE LUTERANA DO BRASIL COMUNIDADE EVANGÉLICA LUTERANA SÃO PAULO Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89 Campus.
Algoritmos de Ordenação
Algoritmos.
Classificação de Dados
PLANILHA DE CALCULO.
CÁLCULO DA INVERSA DA BASE
Algoritmos BUSCA E INSERÇÃO
Análise Projeto de Algoritmos
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Árvore Geradora de Peso Mínimo
FACENS – Engenharia da Computação Inteligência Artificial
FACENS – Engenharia da Computação Lógica Computacional I
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Classificação (Ordenação) de dados
Métodos de Pesquisa: Seqüencial e Binária
Algoritmos Escher.
Métodos de Classificação por Seleção: HeapSort
Lógica de Programação Módulo II
Operadores Aritméticos Valores lógicos Relacionais e lógicos MF.
Algoritmos de Ordenação
Algoritmos de Ordenação
Insertion Sort.
FACENS – Engenharia da Computação Lógica Computacional I
Algoritmos de ordenação
Capítulo 3 Estruturas de Controle
Algoritmo de Ordenação
Ordenação em memória primária
Desempenho, Método de Shell, Quicksort
Filas - Definição Uma fila possui o comportamento: O primeiro que chega é o primeiro que sai. O único elemento que pode ser removido da fila é o primeiro.
Complexidade de algoritmos e Classificação (Ordenação) de dados
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Algoritmos Gulosos em Grafos
Fundamentos de Programação
Ceça Moraes – Introdução à Programação SI1
Procedimentos e Funções
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos de Ordenação
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Capítulo VI – Variáveis Indexadas 6.1 – A necessidade de variáveis indexadas 6.2 – Vetores e matrizes 6.3 – Aplicações com vetores numéricos 6.4 – Aplicações.
Como analisar um algoritmo
DCC 001 Programação de Computadores 2º Semestre de 2011
CLASSIFICAÇÃO DE DADOS
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Prof. Alessandro Gonçalves
Programação I Aula 07 Autor: Francisco Airton Professor: André L. R. Didier 1.
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Informática e Computação Aula Estrutura de Repetição
Classificação Ordenação de Dados
Métodos de Pesquisa: Sequencial e Binária
Classificação (Ordenação) de dados
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
USP – ICMC – SSC SSC0300 2º Semestre 2015
Classificação (Ordenação) de dados. Roteiro Contextualização e definições sobre Classificação Métodos de Classificação de Dados.
Campus Pau dos Ferros Disciplina de Algoritmos Prof. Demétrios Coutinho INFORMÁTICA BÁSICA Algoritmos de Ordenação.
Conteúdo de Laços de Repetição para os alunos do 7º ano EVL.
Algoritmos com matrizes e vetores
Métodos de Pesquisa e Ordenação
INF1007: Programação 2 6 – Ordenação de Vetores
Transcrição da apresentação:

FACENS – Engenharia da Computação Lógica Computacional II Funções de Agregação e Ordenação

Algoritmos Clássicos de Agregação Frequentemente é necessário consolidar um conjunto de dados, extraindo alguma informação relevante As funções de agregação mais utilizadas Contador Soma, Média Máximo, Mínimo Procurar Mediana, Desvio Padrão e Variância

Função Soma (vetor de inteiros) numérico soma (numérico v[], numérico n) i, s: numérico inicio s  0 para i  0 até n-1 passo 1 faça s  s + v[i] fim para retorno  s fim

Função Média (vetor de inteiros) numérico media (numérico v[], numérico n) i, s: numérico inicio se (n = 0) retorno  0 s  0 para i  0 até n-1 passo 1 faça s  s + v[i] fim para retorno  s / n fim

Função Máximo (vetor de inteiros) numérico maximo (numérico v[], numérico n) i, maximo: numérico inicio se (n = 0) retorno  0 maximo  0 para i  1 até n-1 passo 1 faça se (v[i] > v[maximo]) maximo  i fim se fim para retorno  maximo fim

Função Mínimo (vetor de inteiros) numérico minimo (numérico v[], numérico n) i, minimo: numérico inicio se (n = 0) retorno  0 minimo  0 para i  1 até n-1 passo 1 faça se (v[i] < v[minimo]) minimo  i fim se fim para retorno  minimo fim

Função Pesquisa (vetor de inteiros) numérico pesquisa (numérico alvo, numérico v[], numérico n) i: numérico inicio para i  0 até n-1 passo 1 faça se (v[i] = alvo) retorno  i fim se fim para retorno  -1 fim

Ordenação Diversos métodos, alguns muito eficientes e outros pouco eficientes BOLHA: A cada passo, cada elemento é comparado com o próximo. Se o elemento estiver fora de ordem, a troca é realizada Realizam-se tantos passos quantos necessários até que não ocorram mais trocas SELEÇÃO: A cada passo encontra-se o maior elemento dentro do segmento com os elementos não selecionados Troca-se este elemento com o último elemento do segmento Atualiza-se o tamanho do segmento (menos um elemento) Este processo é repetido até que o segmento fique com apenas um elemento

Método BOLHA (Bubble Sort) ordena (numérico v[], numérico n) i, temp: numérico troca: lógico inicio troca = VERDADEIRO enquanto (troca) faça troca = FALSO para i = 0 até n-2 faça se (v[i] > v[i + 1]) então temp = v[i] v[i] = v[i + 1] v[i + 1] = temp fim se fim para fim enquanto fim

Método Seleção Direta ordena (numérico v[], numérico n) pos_maior, temp: numérico inicio para i = n-1 até 1 faça pos_maior = maximo(v, i+1) temp = v[i] v[i] = v[pos_maior] v[pos_maior] = temp fim para fim