TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Ciência da Computação (APS) 4º Semestre - Criptografia Assimétrica MD5

Por:   •  18/10/2018  •  Trabalho acadêmico  •  4.237 Palavras (17 Páginas)  •  405 Visualizações

Página 1 de 17

[pic 1] 

 

Ciência da Computação

 

 

 

 

 

 

Criptografia Assimétrica MD5

 

 

 

                  

                 Jader Fabio Acosta Lando

RA: C73479-9  

Niacleba Tamiris Ferreira Martins

                 RA: N995AB-8

Thaina Milene dos Santos RA: D0494C-6

 

 

São Paulo, 2016          

Indíce

Objetivo Geral        2

Objetivo Específico        2

Introdução        3

Bubble sort.        4

Algoritmo        6

Pseudo-código        6

Implementação em C        8

Resultado        10

Merge Sort        12

Criador do Quicksort        13

Quicksort        13

Como funciona?        13

Algoritmo de Ordenação        14

Algoritmo de Escolha de Pivô        14

Algoritmo de Partição        14

Código do Quicksort        15

Conclusão        17

         

Objetivo Geral

Criar um programa funcional em C# de ordenação de dados, com intuito de testar os conhecimentos obtidos ao decorrer da matéria Estrutura de Dados

 

 

Objetivo Específico

Solucionar o estudo de caso apresentado para desenvolvimento dos programas de organização e ordenação.

         


Introdução

Quaisquer números de aplicações práticas na computação exigem que as coisas estejam em ordem. Mesmo antes de começar a computação, a importância da classificação é perfurada para nós. De fotos de grupo que exigem que as pessoas mais altas fiquem na parte de trás, para o vendedor de maior bilheteria obter o maior bônus de Natal, a necessidade de colocar as coisas mais pequenas para a primeira ou a última não pode ser subestimada.

Quando consultamos um banco de dados e anexamos uma cláusula ORDER BY, estamos ordenando. Quando procuramos uma entrada na lista telefônica, estamos lidando com uma lista que já foi classificada. (E imagine se não fosse!) Se você precisa pesquisar através de uma matriz usando uma pesquisa binária, é necessário primeiro classificar a matriz. Quando uma declaração de problema dita que, no caso de uma gravata, devemos retornar o primeiro resultado lexicograficamente, bem ... essa é a ideia.

Considerações Gerais

Imagine levar um grupo de pessoas, dando-lhes cada um baralho de cartas que foi arrastado e solicitando que eles classificassem os cartões em ordem ascendente. Algumas pessoas podem começar a fazer pilhas, outras podem espalhar as cartas em toda uma mesa, e outros podem fazer malabarismos nas cartas. Para alguns, o exercício pode levar uma questão de segundos, para outros, vários minutos ou mais. Alguns podem acabar com um baralho de cartas onde as espadas aparecem sempre antes dos corações, em outros casos, pode ser menos organizado. Fundamentalmente, estes são os grandes pontos que levam os algoritmos a debater os prós e os contras de vários algoritmos de classificação.

Ao comparar vários algoritmos de classificação, há várias coisas a considerar. O primeiro geralmente é tempo de execução. Ao lidar com conjuntos de dados cada vez maiores, algoritmos de classificação ineficientes podem tornar-se muito lentos para uso prático em uma aplicação.

Uma segunda consideração é o espaço da memória. Algoritmos mais rápidos que requerem chamadas recursivas geralmente envolvem a criação de cópias dos dados a serem ordenados. Em alguns ambientes onde o espaço da memória pode ser superior (como um sistema integrado), certos algoritmos podem ser impraticáveis. Em outros casos, pode ser possível modificar o algoritmo para funcionar "no lugar", sem criar cópias dos dados. No entanto, esta modificação também pode vir ao custo de alguma vantagem de desempenho.

Uma terceira consideração é a estabilidade. A estabilidade, simplesmente definida, é o que acontece com elementos que são comparativamente os mesmos. Em um tipo estável, os elementos cuja chave de comparação são os mesmos permanecerão na mesma ordem relativa após a classificação como antes da classificação. Em um tipo instável, nenhuma garantia é feita para a ordem de saída relativa dos elementos cuja chave de classificação é a mesma.

 

         

Bubble sort.

Bubble sort é um algoritmo de classificação simples. Este algoritmo de classificação é um algoritmo baseado em comparação em que cada par de elementos adjacentes é comparado e os elementos são trocados se não estiverem em ordem. Este algoritmo não é adequado para grandes conjuntos de dados, pois a sua complexidade média e pior cenário é de Ο(n2) onde n é o número de itens.

Como o Bubble Sort funciona?

Nós tomamos uma matriz não triada para o nosso exemplo. O Bubble Sort leva Ο(n2) tempo, então estamos mantendo-o curto e preciso.

[pic 2]

Figura 1 - Demostração da Base

Bubble sort começa com os dois primeiros elementos, comparando-os para verificar qual deles é maior.

[pic 3]

Figura 2 - Numeros selecionados

Nesse caso, o valor 33 é maior que 14, então já está em locais classificados. Em seguida, comparamos 33 com 27.

[pic 4]

Figura 3 - Proximos numeros

Achamos que 27 é menor que 33 e esses dois valores devem ser trocados.

...

Baixar como (para membros premium)  txt (20.9 Kb)   pdf (504.6 Kb)   docx (227.6 Kb)  
Continuar por mais 16 páginas »
Disponível apenas no TrabalhosGratuitos.com