Quero um Titulo
Por: Gabriel Lima • 8/9/2016 • Monografia • 1.810 Palavras (8 Páginas) • 393 Visualizações
[pic 2][pic 1]
3º Ciência da Computação (CC)
Ordenação
Atividades Práticas Supervisionadas
2016
Nome: Alisson Lucas da Silva RA: C68ACH-8
Gabriel de Oliveira Lima RA: C54GDH-7
Sivori Celso Marques Ferreira Juniro RA: C62DAA-2
Índice
Objetivo do Trabalho
Introdução
Em nossa Atividade Prática Supervisionada falaremos sobre as ordenações e seus conceitos e técnicas, em que escolheremos alguns conceitos para aplicar num caso específico que envolve o geoprocessamento de imagens da floresta amazônica, ambientalmente que contenha riscos de crimes ambientais: o caso é sobre satélites que geram cerca de 100 mil imagens de toda a região a cada 24 horas, essas imagens são armazenadas ou catalogadas.
Para que podemos realizar a elaboração do projeto atendendo ao que foi solicitado, fizemos uma pesquisa sobre as ordenações em que segue abaixo uma breve introdução.
Algoritmos de ordenação: são uns algoritmos que expõe os elementos de uma dada sequência em uma certa ordem, exemplo com palavras mais fácil para entendimento: ele executa sua ordenação completa ou semipleno. As ordens mais corriqueiras são a numérica e a lexicográfica.
Existem várias razões para se ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente.
Segundo apostila da faculdade UFMG
http://www2.dcc.ufmg.br/disciplinas/aeds2_turmaA1/bubblesort.pdf
Para que serve um algoritmo? Podemos dizer que um algoritmo é uma sequência de instruções logicas que servem para resolver diversos problemas, não só computacionais como também outros tipos, sendo propostas algumas questões em busca de uma solução. Os algoritmos descrevem passo a passo os procedimentos necessários para se chegar a uma solução do determinado problema e podem ser representados de três formas:
Descrição Narrativa: Onde se usa a linguagem nativa de quem escreve. Essa forma não segue um padrão definido e pode sofrer várias interpretações por quem lê;
[pic 3]
Figura1: ex_descriçaoNarrativa http://www.professor.pbaesse.net/wp-content/uploads/2012/12/Aula-10-%E2%80%93-Conceitos-Iniciais-sobre-Algoritmos-e-Representa%C3%A7%C3%B5es.pdf
Fluxograma: uma representação visual que utiliza símbolos que são figuras geométricas, cada uma com sua função específica. Essa representação, mostra o fluxo do algoritmo e também elimina as várias interpretações que a descrição narrativa permitia sobre um algoritmo;
[pic 4]
Figura 2: Fluxograma:http://images.slideplayer.com.br/3/1238074/slides/slide_6.jpg
Por fim, (Pseudocódigo ou Portugol): é a linguagem algoritma, que é a que mais se aproxima da estrutura de uma linguagem estruturada.
[pic 5]
Figura3: Pseudocodigo http://buptip.blogspot.com.br/2014/09/pseudocodigo-e-portugol.html
Bem isso é um conceito básico sobre o que é algoritmo, e que sempre estamos utilizando eles de alguma forma em nosso cotidiano, em que a forma de como iremos trata-los dependerá da situação e dos recursos que teremos para executar o passo a passo.
Mas o que pretendemos abordar são os algoritmos de ordenação, um tipo de algoritmo muito usado na resolução de problemas computacionais, que servem para ordenar/organizar uma lista de números ou palavras de acordo com a sua necessidade. Hoje em dia as linguagens de programação já possuem métodos de ordenação, mas é bom conhecer o funcionamento dos algoritmos, pois existem alguns casos onde encontramos problemas no algoritmo de ordenação genérico os quais muitas das vezes não conseguimos resolver, sendo assim necessário modificá-lo. Sabendo-se o conceito essa tarefa acaba se tornando um pouco mais fácil.
Os mais populares algoritmos de ordenação são: Insertion sort, Selection sort, Bubble sort, Comb sort, Quick sort, Merge sort, Heap sort e Shell sort. Neste trabalho estaremos falando somente sobre os algoritmos Bubble sort, Insertion sort e Merge sorte, explicando o funcionamento de cada um deles.
Ordenação pelo Método Bubble sort
Bubble sort também conhecido como método de bolha, é o algoritmo mais simples, mas o menos eficaz. Isso porque este algoritmo de ordenação é baseado em trocas, possuindo desempenho satisfatório em pequenas coleções de dados. Porém pode gerar muitas complicações em grandes coleções de dados, devido ter que analisar elemento por elemento, de forma exponencial ou seja um de cada vez, para verificar se é necessário realizar a troca. Utilizando como parâmetro de comparação o elemento de uma posição i no vetor com o elemento da posição i + 1, ou seja, em que se o elemento da posição 2 for maior que o elemento da posição 3, eles trocam de lugar e assim sucessivamente, sendo desconsiderado na próxima passagem. Por causa dessa forma de execução, o vetor terá que ser percorrido quantas vezes for necessária, tornando o algoritmo ineficiente para listas muito grandes.
Método ilustrado:
[pic 6]
Figura 4: Bubble Sort http://www.devmedia.com.br/algoritmos-de-ordenacao-analise-e-comparacao/28261
Vantagens:
É um algoritmo de ordenação simples e estável.
Desvantagens:
Possui muita lentidão devido seu modo de execução, o qual passa em cada elemento do vetor.
Esse método de ordenação é indicado em tabelas pequenas, quando se sabe que a tabela está quase ordenada e demonstração didáticas.
Ordenação pelo Método da Insertion Sort
https://pt.khanacademy.org/computing/computer-science/algorithms/insertion-sort/a/insertion-sort
...