Você está na página 1de 1

Vai buscando "por nível":

primeiro vai nos vizinhos do nó


inicial, depois nos vizinhos dos
vizinhos...

Estruturas baseadas em relações


Estrutura baseada em
entre cada um dos elementos,
filas Busca
Busca em Largura podendo ser ou não ponderados.

Algoritmos Grafos

Podem ser direcionados (quando a


ligação entre dois vértices é definida)
ou não direcionados (quando o
caminho entre vértices é livre).

Superficialmente, cumpre o mesmo


papel que uma lista comum, mas
tem a característica de não precisar
de espaços contínuos na memória.

Só aplicável em
Listas Encadeadas
arrays ordenados

Em ambas, é necessário percorrer MUITO mais eficiente e


Busca

Geram...
até todos os elementos para se rápida - O(logn).
Estruturas que possuem, além do Binária
fazer uma inserção ou remoção,
Tanto o primeiro quanto o último seu valor, um ponteiro (ou mais) que
visto que os espaços na memória
elemento são conhecidos, fazendo indicam onde se encontra o anterior. Busca necessária antes
são "aleatórios".
inserções e remoções (no iníico e fim) de cada inserção.
em tempo constante. Menos eficiente que a
Busca binária - O(N)
Linear
Listas Duplamente Baseadas
Array
É necessário substituir pelo Nó Encadeadas em Ordenado
sucessor, o menor entre os maiores Nós
filhos do nó retirado.
Array com os
elementos ordenados
Inserção - O(N)

O(Logn).
Nó com 2 filhos
Array N = nº de elementos do
Estrutura que inicia com um nó (regular)
array/conjunto

raiz e, seguindo a lógica do "menor,


Essa análise considera uma árvore
esquerda; maior, direita", monta
balanceada, ou seja,
perfeitamente equilibrada entre O(1), só tirar e Nó com 1 filho
Remoção
uma árvore de dados. ♦Elementos Repetidos
Busca - O(N)

4 operações básicas
os dois lados. colocar o filho no
lugar.

Inserção- O(Logn). Árvores Binárias Leitura - O(1)


Array
Nó sem filhos
O(1), só tirar.
Leitura- O(Logn).
Remoção - O(N)
Busca- O(Logn).
Busca em Logn, pois vai São exemplos de grafos
dividindo recursivamente direcionados (não se pode
Conjuntos
"voltar");
cada subárvore. (baseado
em Array)

Busca Linear - O(N) ♦Elementos Repetidos


Busca Binária - O(Log n) Em Arrays Inserção - O(N).

Computação envolve
BUSCA receber, armazenar, Funcionamento As funções Hash devem ser
manipular e devolver semelhante aos executadas de forma a causar o
Conjunto de passos e instruções que dados. dicionários, utilizando de Funções que recebem o dado como menor número possível e
auxiliam na execução de alguma pares chave-valor para argumento e, através de operações e colisões.
tarefa/atividade. inserir e tratar os dados. algoritmos, retornam a posição onde o
Melhor caso - O(N²) dado será inserido na memória.
Caso médio - O(N²) Selection Sort
Pior caso - O(N²)

Fundamentos

Estrutura 4 operações básicas


Algoritmos da Estrutura Hash
s de dados Funções Hash
Melhor caso - O(N)
da Informação Tables
Caso médio - O(N²) Bubble Sort Recebe arrays desordenados e
Pior caso - O(N²) através de passos estabelecidos,
os ordena.
Como analisado, o Quicsort se Ordenação
demonstra o mais eficiente no caso Podem ser descritos através do
médio (maioria dos casos). Melhor caso - O(N) sistema de notação Big O.
Caso médio - O(N²) Insertion Sort Estruturas construídas com o
Pior caso - O(N²)
proósito de receber, Busca- O(N). Inserção - O(1) Leitura - O(1) Remoção - O(1)
Estruturas baseadas
armazenar, tratar e devolver
Podem adotar... Sistema de notação que auxilia na em listas e com
dados.
Melhor caso -
análise e categorização da restrições a respeito Remoção
O(NLogn)
Quicksort
Caso médio - O(NLogn) complexidade de algoritmos (tanto das 4 operações apenas no O(1)

Permitem...
Pior caso - O(N²)
Processo onde uma função chama ela no tempo quanto no espaço). fundamentais "Last in, First Out". Final
mesma.

BIG O
Particionamento Recursão Pilhas e Pilha
Filas (Stack) Como visto, as estruturas de
pilhas e filas podem ser,
intruitivamente, comparadas a
"First in, First Out". filas e pilhas da vida real.
Estruturas que armazenam dados

e aceitam os testes de Inserção


Modelo da Caso pertencimento "in": deques, lista, Fila Leitura Apenas
Substituição Apenas no no Incício
Expansão e Contração Base tuplas... (Queue) Final
O(1) O(N) O(Logn) O(N²) O(NLogn)

O(1) O(1)
Conteiners
Comando ou condição que Tempo de execução (ou Tempo de execução varia Tempo de execução varia Tempo de execução varia
logaritimicamente com o
encerra o processo recursivo e número de passos) constante linearmente de acordo com o
aumento do número de aumento do número de
quadraticamente com o
aumento do número de
Geralmente relacionado ao
quicksort e busca em árvores
e independente do número de
impede recursões infinitas. elementos elementos. elementos. elementos. binárias, isso significa um

Remoção
crescimento logarítimico a
cada termo linear.

apenas no
A maioria dos
início
conteiners são

O(N)
Iteráveis e
iteradores

Iteráveis são estruturas que


podem ser "percorridas", ou
seja, que retornem o valor
Possível fazer paralelo com a
de um iterador.
estrutura "for", que vai aplicando
funções next num iterador que
assume os valores de uma estrutura
"Fábrica de valores" que
iterável.
retorna um próximo valor
quando chamado na função
"next()"

Tipo especial de
Suporta a Função "Yield" iterador
Função Geradora

Gerador

Pode gerar uma estrutura Expressão Geradora


de dados com especificações
próprias.

Você também pode gostar