O
Quick Sort, como o nome já diz, é um dos algoritmos de ordenação mais
rápidas já desenvolvida. Utiliza uma estratégia de dividir para
conquistar e consiste em pegar um elemento pivô e mover todos os
elementos maiores que o pivô para um lado e todos os elementos menores
para o outro (o qual lado depende se for crescente ou decrescente).
Uma
das razões dele ser rápido é porque a análise começa das duas pontas e
vai em direção ao centro, onde geralmente está localizado o elemento
pivô. Depois de analisar e mover todos os elementos em relação ao pivô,
então divide-se o vetor em duas partes e aplica a mesma técnica nos dois
subvetores, até que não seja possível dividir os vetores.
Blog onde registro todas as minhas pesquisas e compartilhando as mesmas para quem esteja interessado.
sexta-feira, 30 de novembro de 2012
quinta-feira, 29 de novembro de 2012
Algoritmo: Selection Sort
Continuando a série sobre algoritmos de ordenação, hoje falarei sobre o Selection Sort.
O Selection Sort funciona de forma semelhante ao Bubble Sort. A principal diferença é durante a análise de qual número vai naquela casa, não é feito a troca imediatamente, mas sim guardado a referência para aquela posição (no pseudo-código abaixo, essa referência é guardada na variável “menor”).
O Selection Sort funciona de forma semelhante ao Bubble Sort. A principal diferença é durante a análise de qual número vai naquela casa, não é feito a troca imediatamente, mas sim guardado a referência para aquela posição (no pseudo-código abaixo, essa referência é guardada na variável “menor”).
segunda-feira, 19 de novembro de 2012
Algoritmo: Bubble Sort
Vou iniciar uma série sobre algoritmos de ordenação, começando hoje pelo Bubble Sort, também conhecido como o método da bolha. Para facilitar, vamos pegar o seguinte caso: tenho um vetor de inteiros chamado vet com os seguintes valores: {55, 76, 26, 64, 26, 80, 71, 46} e temos que organizar os números desse vetor em ordem crescente.
Vamos para o pseudocódigo:
01. var x,y,aux : INTEIRO
02. PARA x=0 ATE vet.tamanho PASSO 1
03. PARA y=x+1 ATE vet.tamanho PASSO 1
04. SE(vet[x] > vet[y]) ENTAO
05. var aux = vet[x]
06. vet[x] = vet[y]
07. vet[y] = aux
08. FIMSE
09. FIMPARA
10. FIMPARA
Vamos para a explicação:
Vamos para o pseudocódigo:
01. var x,y,aux : INTEIRO
02. PARA x=0 ATE vet.tamanho PASSO 1
03. PARA y=x+1 ATE vet.tamanho PASSO 1
04. SE(vet[x] > vet[y]) ENTAO
05. var aux = vet[x]
06. vet[x] = vet[y]
07. vet[y] = aux
08. FIMSE
09. FIMPARA
10. FIMPARA
Vamos para a explicação:
quinta-feira, 1 de novembro de 2012
Javascript: Criação de Objetos
Para
criar um objeto em Javascript, é necessário apenas declarar o seu
construtor, que não é nada mais que uma função. Os métodos e atributos
do objeto são todos declarados dentro do construtor. No exemplo a
seguir, mostra a criação de um objeto Compromisso, junto com as seus
atributos:
//Construtor de um compromisso de uma agenda (Compromisso)
function Compromisso(nome,inicio,fim){
//Declaração dos atributos
this.nome = nome;
this.dtInicio = inicio;
this.dtFim = fim;
}
//Construtor de um compromisso de uma agenda (Compromisso)
function Compromisso(nome,inicio,fim){
//Declaração dos atributos
this.nome = nome;
this.dtInicio = inicio;
this.dtFim = fim;
}
Assinar:
Postagens (Atom)