Documentos de Académico
Documentos de Profesional
Documentos de Cultura
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Acesse nosso site em
WWW.DOMINANDOTI.COM.BR
Curta o Dominando TI no
e receba nossas dicas sobre concursos!
W W W. D O M I N A N D OT I .CO M . B R
Agenda
Listas
Filas
Pilhas
Matrizes
Árvores
Grafos
Arranjos:
Tamanho fixo
Alocação contígua
Acesso em tempo constante (O(1))
Listas encadeadas:
Tamanho variável
Alocação dispersa
Acesso em tempo linear (O(n))
struct nodo {
int informacao;
struct nodo *proximoNodo;
};
Simplesmente encadeadas
Duplamente encadeadas
Circulares (simples ou dupla)
Ordenadas
Double-ended queue
Arranjos multidimensionais
Estruturas homogêneas (elementos tem o mesmo tipo)
Acesso aos elementos se dá por meio de índices (um para
cada dimensão)
Fonte: http://www.cs.auckland.ac.nz/software/AlgAnim/trees.html
Pré-ordem (pré-fixado)
50 – 17 – 12 – 9 – 14 – 23 – 19 – 72 – 54 – 67 – 76
Em ordem (infixado)
9 – 12 – 14 – 17 – 23 – 19 – 50 – 54 – 67 – 72 – 76
Pós-ordem (pós-fixado)
9 – 14 – 12 – 19 – 23 – 17 – 67 – 54 – 76 – 72 – 50
Árvore binária
Subárvore da esquerda contém elementos menores que a raiz
da subárvore
Subárvore da direita contém elementos menores que a raiz da
subárvore
ABB AVL
Estruturas não-lineares
Compostos de nodos (nós/vértices) e arestas (arcos)
Podem ser ponderados ou não
Dois tipos:
Não Orientados: os nodos não possuem ordem na relação
Orientados: os nodos possuem uma ordem em sua relação
Fontes: http://www.informatics.susx.ac.uk/courses/dats/notes/html/node130.html e
http://www.algolist.net/Data_structures/Graph
Grau de um nodo:
Não orientado: número de arestas incidentes
Orientado: soma de arestas que chegam e saem
Comprimento do caminho: número de arestas entre dois
nodos
Ciclos: caminhos maiores que 1 (um) que levam um nodo a
ele mesmo
Cíclico x acíclico
Conexo (não orientado): todo par de nodos está conectado por
um caminho
Fortemente conexo (orientado): para qualquer par de nodos é
possível encontrar um caminho entre eles
Completo (não orientado): todo par de nodos é adjacente
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Agenda (1/2)
Complexidade de Algoritmos
Algoritmos de Busca
Busca sequencial
Busca binária
Busca com hash
Algoritmos de Ordenação
Insertion sort
Bubble sort
Shell sort
Professor Marcelo Pacote - marcelopacote@dominandoti.com.br 114 W W W. D O M I N A N D OT I .CO M . B R
Agenda (2/2)
Merge sort
Quick sort
Heapsort (heap)
int soma = 0;
soma += arranjo[i];
variancia = Math.sqrt(variancia/(arranjo.length-1));
* Referência [01]
* Referência [01]
* Referência [01]
Busca sequencial
Busca binária
Buscas utilizando tabelas e funções de hash (dispersão)
Exemplo:
3 9 14 27 35 52 70 83 99
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [02]
Bubble Sort
Insertion Sort
Shell Sort
Merge Sort
Quick Sort
Heapsort
Exemplo de funcionamento:
* Referência [02]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
Exemplo: gaps de 5, 2 e 1
30 27 22 9 58 13 75 62 2
* Referência [01]
Análise de complexidade:
Cada merge é proporcional ao
tamanho dos subarranjos (O(n))
O arranjo é subdividido e
recombinado log n vezes
Complexidade total log n * n,
ou seja, O(n log n)
* Referência [01]
Exemplo:
Exemplo:
Exemplo:
Exemplo:
Exemplo:
Exemplo:
Exemplo:
Exemplo:
Exemplo:
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
* Referência [01]
procedimento Ordena(A,n)
inicio
para i de 1 ate n faca
j = i;
para k de j + 1 ate n faca
se A[k] < A[j] entao j = k;
fimpara
t = A[i]; A[i] = A[j]; A[j] = t;
fimpara
fimprocedimento
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Exercício [1] (PETROBRAS / CESGRANRIO /2010)
[01] b
[02] c
[03] b
[04] c
[05] a
[06] a
[07] b
[08] a
[09] e
[10] a
[11] a
Professor Marcelo Pacote - marcelopacote@dominandoti.com.br 245 W W W. D O M I N A N D OT I .CO M . B R
Referências Bibliográficas
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Exercício [01] (TRE-SP / FCC /2012)
Considere:
I. Estrutura de dados linear e estática, composta por um número finito de
elementos de um determinado tipo de dados.
II. É linear e dinâmica quando encadeada; apresenta um campo para
conter o dado a ser armazenado e outro campo para apontar para o
próximo elemento.
III. Os elementos associados a cada nó são habitual- mente chamados de
filhos desses nós, podendo existir nós sem filhos.
IV. É tipicamente uma representação de vértices ligados por arestas que
eventualmente, podem ser direcionadas por meio de setas.