Você está na página 1de 26

Estrutura de Dados - Aula 27/08/2018 29/08/2020

ESTRUTURA DE DADOS
Aula 3 - Vetores Ordenados,
Busca Binária e Big O

profa. Divani Barbosa Gavinier divani.gavinier@fatec.sp.gov.br

Dia Aula

Introdução a Linguagem
17/ago
de Programação Java

Objetos (Vetores) e Classes


24/ago
em Java

Vetores Ordenados, Busca


31/ago
Binária e Big O

17- Evento Acadêmico -INÍCIO DAS AULAS


2

profa. Divani Barbosa 1


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Vetores Ordenados
É um vetor cujo os itens estão organizados de forma ascendente ou
descendente de valores-chave.

Caso ascendente: O menor valor se encontra no índice 0 e cada célula


mantem um valor maior do que a célula abaixo.

Exemplo:

43 109 320 632 841


0 1 2 3 4

3
3

Os Vetores ordenados podem ser obtidos de duas formas:

1. Durante a inserção verificar qual a posição ordenada do item a ser


inserido dentro do vetor. Inserir o item em sua posição ordenada
(caso necessário empurrando demais itens).

2. Através de um método especifico para isso que, quando chamado,


realize a ordenação dos itens do vetor.

profa. Divani Barbosa 2


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Os Vetores ordenados podem ser obtidos de duas formas:

1. Durante a inserção verificar qual a posição ordenada do item a ser


inserido dentro do vetor. Inserir o item em sua posição ordenada
(caso necessário empurrando demais itens).

2. Através de um método especifico para isso que, quando chamado,


realize a ordenação dos itens do vetor.

5
5

Algoritmo de função para inserção ordenada


procedimento inserir(valor: inteiro)
variáveis
i, j : inteiro
inicio
se (n >= TAM_MAX) então
escreva("ATENCAO: Estouro da capacidade do vetor")
retorne
fim se
para i de 0 até n-1 passo 1 faça
se (v[i] > valor) então
interrompa // Posição que vai inserir valor (posição i)
fim se
fim para
para j de n até i passo -1 faça // Movendo maiores para cima
v[j] <- v[j-1]
fim para
v[i] <- valor // Inserindo na posição ordenada (posição i)
n <- n + 1
fim

ATENÇÃO: Variáveis em vermelho devem ser


declaradas como globais 6

profa. Divani Barbosa 3


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Método para inserção ordenada


public void inserir_ord(int valor) {
if (n >= TAM_MAX) {
cout << "ATENCAO: Estouro da capacidade do vetor" << endl;
return;
}
int i, j;
for (i=0; i<n; i++) {
if (v[i] > valor) break; // Posição que vai inserir valor
}
for (j=n; j>i; j--) { // Movendo maiores para cima
v[j] = v[j-1];
}
v[i] = valor; // Inserindo na posição ordenada (posição i)
n++;
}

Vantagem: Não precisa criar um novo método para ordenação.


Basta alterar o método de inserção pré-existente.

Desvantagem: A cada inserção todo conteúdo do vetor pode ser


movido. O que provoca atraso (lentidão). 7
7

Os Vetores ordenados podem ser obtidos de duas formas:

1. Durante a inserção verificar qual a posição ordenada do item a ser


inserido dentro do vetor. Inserir o item em sua posição ordenada
(caso necessário empurrando demais itens).

2. Através de um método especifico para isso que, quando chamado,


realize a ordenação dos itens do vetor.

profa. Divani Barbosa 4


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Métodos para Ordenação de Vetores

Ordenação é o ato de se colocar os


elementos de uma sequência de
informações, ou dados, em uma
ordem predefinida.

Algoritmos a serem vistos:


 BubbleSort
 Seleção Métodos Simples
 Inserção
 MergeSort
Métodos Eficientes
 QuickSort Rápidos (menos da metade do tempo
que os métodos simples) 9
9

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 50 46 35 13 90 85 32
0 1 2 3 4 5 6 7

compara

10

10

profa. Divani Barbosa 5


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 50 46 35 13 90 85 32
0 1 2 3 4 5 6 7

não troca

10
11

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 50 46 35 13 90 85 32
0 1 2 3 4 5 6 7

compara

10

12

profa. Divani Barbosa 6


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 50 35 13 90 85 32
0 1 2 3 4 5 6 7

troca

10
13

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 50 35 13 90 85 32
0 1 2 3 4 5 6 7

compara

10

14

profa. Divani Barbosa 7


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 50 13 90 85 32
0 1 2 3 4 5 6 7

troca

10
15

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 50 13 90 85 32
0 1 2 3 4 5 6 7

compara

10

16

profa. Divani Barbosa 8


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 90 85 32
0 1 2 3 4 5 6 7

troca

10
17

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 90 85 32
0 1 2 3 4 5 6 7

compara

10

18

profa. Divani Barbosa 9


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 90 85 32
0 1 2 3 4 5 6 7

não troca

10
19

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 90 85 32
0 1 2 3 4 5 6 7

compara

10

20

profa. Divani Barbosa 10


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 85 90 32
0 1 2 3 4 5 6 7

troca

10
21

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 85 90 32
0 1 2 3 4 5 6 7

compara

10

22

profa. Divani Barbosa 11


Estrutura de Dados - Aula 27/08/2018 29/08/2020

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 85 32 90
0 1 2 3 4 5 6 7

troca
Após essa primeira varredura, o maior elemento encontra-se alocado
em sua posição definitiva (90 no final).
10
23

BubbleSort
Ordenação por flutuação (por “bolha”)

A ideia principal do algoritmo é percorrer o vetor n-1


vezes, a cada passagem fazendo flutuar para o topo
o maior elemento da sequência.
Essa movimentação, lembra a forma como as bolhas
procuram seu próprio nível, por isso o nome do
algoritmo.
Exemplo: Considere o seguinte vetor:

vetor 21 46 35 13 50 85 32 90
0 1 2 3 4 5 6 7

troca
Logo, a ordenação pode continuar no restante da lista sem considerar o
último elemento, portanto, são necessárias n-1 varreduras, pois cada
varredura leva um elemento a sua posição definitiva. 11

24

profa. Divani Barbosa 12


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Vídeo BubbleSort

(5 min) https://youtu.be/llX2SpDkQDc acesso em agosto 2020 12


25

Algoritmo BubbleSort

procedimento bubblesort(v[0..TAM_MAX]: inteiro, n: inteiro)


variáveis
i, j, troca : inteiro
início
para i de 1 ate n passo 1 faca laço responsável pela
para j de 1 ate n-1 passo 1 faca varredura do vetor
se (v[j] > v[j+1]) entao laço responsável pela
troca <- v[j] varredura de n–1 vezes
v[j] <- v[j+1]
v[j+1] <- troca verificação da
fim se necessidade de troca
fim para troca de elementos
fim para
fim

13

26

profa. Divani Barbosa 13


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Função BubbleSrt

public static void bubblesort(long[] v, int n) {


long troca;
for (int i = 0; i < n; i++) laço responsável pela
for (int j = 0; j < n-1; j++) varredura do vetor
if (v[j] > v[j+1]) { laço responsável pela
troca = v[j]; varredura de n–1 vezes
v[j] = v[j+1];
v[j+1] = troca; verificação da
} necessidade de troca
troca de elementos
}

14
27

Método BubbleSrt

public void bubblesort() {


long troca;
for (int i = 0; i < n; i++)
for (int j = 0; j < n-1; j++)
if (v[j] > v[j+1]) {
troca = v[j];
v[j] = v[j+1];
v[j+1] = troca;
}

15

28

profa. Divani Barbosa 14


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Vantagens:

Usa um método simples de ordenação por troca;

Eficiente para vetores com pequena quantidade de dados, porem,


o algoritmo de Inserção é ainda mais eficiente para pequena
quantidade de dados.

Desvantagens:

Ineficiente para vetores com grande quantidades de dados, pois,


efetua n-1 passos independente do vetor estar totalmente
ordenado.

16
29

Porque aprender a ordenar vetores?

17

30

profa. Divani Barbosa 15


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Pesquisa linear
Busca linear

A compensação por deixar um vetor ordenado aparece na pesquisa,


quando precisamos encontrar um item, caso ele não se encontre no
vetor, ao nos deparar com um valor maior, a busca pode ser encerrada.

Algoritmo para pesquisa linear em vetores que não são ordenados:


função buscalinear(chave: inteiro): inteiro
variáveis Percorrendo todo o vetor
i: inteiro
início Caso encontre a chave
para i de 0 ate n faca no vetor o algoritmo
se (v[i] == chave) então retorna sua posição
retorne i
fim se Terminou de percorrer
fim para todo o vetor e não
retorne -1 encontrou a chave,
fim então retornar -1.
ATENÇÃO: As variáveis v[ ] e n devem ser declaradas como globais 18
31

Algoritmo para pesquisa linear em vetores ordenados:


função buscalinear(chave: inteiro): inteiro
variáveis
Percorrendo todo o vetor
i: inteiro
início Caso encontre a chave
para i de 0 ate n faca no vetor o algoritmo
se (v[i] == chave) então retorna sua posição
retorne i
fim se Caso a chave buscada
se (v[i] > chave) então seja maior que o valor
retorne -1 na posição i, então,
fim se retornar -1
fim para
retorne -1 Terminou de percorrer
fim todo o vetor e não
encontrou a chave,
ATENÇÃO: As variáveis v[ ] e n devem ser declaradas como então retornar -1.
globais

Esse algoritmo é aplicável somente em vetores ordenados!


19

32

profa. Divani Barbosa 16


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Método para busca linear em vetores ordenados


public int buscalinear(int chave) {
for (int i=0; i<n; i++) { // para cada elemento
if ( v[i] == chave ) { // achou item?
return i; // sim achei, sai retornando a posição
}
if (v[i] > chave) { // item maior que a chave
return -1; // saída imediata, retorna -1
}
}
return -1; // pior caso, todos itens menores que a chave
}

20
33

Método para busca linear em vetores ordenados


public int buscalinear(int chave) {
for (int i=0; i<n; i++) { // para cada elemento
if ( v[i] == chave ) { // achou item?
return i; // sim achei, sai retornando a posição
}
if (v[i] > chave) { // item maior que a chave
return -1; // saída imediata, retorna -1
}
}
return -1; // pior caso, todos itens menores que a chave
}

Exemplo:
Se a variável chave = 30
7 itens
Em 4 passos o laço retorna 3
2 15 17 30 41 52 105 (chave no meio do vetor)
CASO MÉDIO
0 1 2 3 4 5 6
21

34

profa. Divani Barbosa 17


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Método para busca linear em vetores ordenados


public int buscalinear(int chave) {
for (int i=0; i<n; i++) { // para cada elemento
if ( v[i] == chave ) { // achou item?
return i; // sim achei, sai retornando a posição
}
if (v[i] > chave) { // item maior que a chave
return -1; // saída imediata, retorna -1
}
}
return -1; // pior caso, todos itens menores que a chave
}

Exemplo:
Se a variável chave = 20
7 itens
Em 4 passos o laço retorna -1
2 15 17 30 41 52 105 (chave não encontrada)
CASO MÉDIO
0 1 2 3 4 5 6
22
35

Método para busca linear em vetores ordenados


public int buscalinear(int chave) {
for (int i=0; i<n; i++) { // para cada elemento
if ( v[i] == chave ) { // achou item?
return i; // sim achei, sai retornando a posição
}
if (v[i] > chave) { // item maior que a chave
return -1; // saída imediata, retorna -1
}
}
return -1; // pior caso, todos itens menores que a chave
}

Exemplo:
Se a variável chave = 2
7 itens
Em 1 passo o laço retorna 0
2 15 17 30 41 52 105 (chave no início do vetor)
MELHOR CASO
0 1 2 3 4 5 6
23

36

profa. Divani Barbosa 18


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Método para busca linear em vetores ordenados


public int buscalinear(int chave) {
for (int i=0; i<n; i++) { // para cada elemento
if ( v[i] == chave ) { // achou item?
return i; // sim achei, sai retornando a posição
}
if (v[i] > chave) { // item maior que a chave
return -1; // saída imediata, retorna -1
}
}
return -1; // pior caso, todos itens menores que a chave
}

Exemplo:
Se a variável chave = 110
7 itens Em 7 passos o laço retorna -1
(chave maior que o ultimo
2 15 17 30 41 52 105 elemento do vetor)
0 1 2 3 4 5 6 PIOR CASO
24
37

Pesquisa Binária
Busca Binária

Método para pesquisa binária: Esse tipo de


pesquisa é muito
public int buscabinaria(long chave) { mais rápida do que
int baixo = 0; a pesquisa linear,
int alto = n-1; especialmente para
int meio; grandes vetores.
while (baixo <= alto) {
meio = (baixo + alto) / 2;
if ( v[meio] == chave) return meio;  Usa o método de
if ( v[meio] < chave ) baixo = meio+1; divisão para
else alto = meio-1; conquista.
}  Aplicável somente
return -1; em vetores
} ordenados.
25

38

profa. Divani Barbosa 19


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Algoritmo para pesquisa binária:


Percorrendo o vetor
função buscabinaria(chave: inteiro): inteiro Procurando na posição
variáveis do meio do vetor
baixo, alto, meio : inteiro Caso encontre a chave
início no vetor o algoritmo
baixo <- 0 retorna sua posição
alto <- (n-1)
enquanto (baixo <= alto) faça Caso a chave buscada
meio <- (baixo + alto) / 2 não tenha sido
se ( v[meio] == chave) faça encontrada no meio,
retorne meio procure na primeira
fim se metade do vetor
se ( v[meio] < chave ) faça Caso a chave buscada
baixo <- meio + 1 não tenha sido
senão encontrada no meio,
alto <- meio - 1 procure na segunda
fim se metade do vetor
fim enquanto Terminou a busca e não
retorne -1 encontrou a chave,
fim então retornar -1.
ATENÇÃO: As variáveis em v[ ] e n devem ser declaradas como globais
26
39

Exemplo: Se chave = 30
7 itens
public int buscabinaria (long
2 15 17 30 41 52 105 chave) {
int baixo = 0;
0 1 2 3 4 5 6 int alto = n-1;
baixo int meio;
meio alto
while (baixo <= alto) {
meio = (baixo+alto)/2;
30 if ( v[meio] == chave)
3 return meio;
if ( v[meio] < chave )
meio baixo = meio+1;
else
alto = meio-1;
Em 1 passo do laço retornou 3 }
return -1;
MELHOR CASO
}
A chave esta no meio do vetor

27

40

profa. Divani Barbosa 20


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Exemplo: Se chave = 15
7 itens
public int buscabinaria (long
2 15 17 30 41 52 105 chave) {
int baixo = 0;
0 1 2 3 4 5 6 int alto = n-1;
baixo meio alto int meio;
while (baixo <= alto) {
2 15 17 meio = (baixo+alto)/2;
0 1 2 if ( v[meio] == chave)
return meio;
baixo alto if ( v[meio] < chave )
baixo = meio+1;
2 15 17 else
0 1 2 alto = meio-1;
}
baixo meio alto return -1;
15 Em 2 passos do laço }
1 retornou 1
meio
CASO MÉDIO 28
41

Exemplo: Se chave = 110


7 itens

public int buscabinaria (long


2 15 17 30 41 52 105 chave) {
0 1 2 3 4 5 6 int baixo = 0;
int alto = n-1;
baixo meio alto int meio;
41 52 105 while (baixo <= alto) {
meio = (baixo+alto)/2;
4 5 6 if ( v[meio] == chave)
return meio;
baixo meio alto if ( v[meio] < chave )
105 baixo = meio+1;
else
6
alto = meio-1;
baixo }
alto return -1;
}
meio
7
baixo 29

42

profa. Divani Barbosa 21


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Exemplo: Se chave = 110


7 itens

public int buscabinaria (long


2 15 17 30 41 52 105 chave) {
0 1 2 3 4 5 6 int baixo = 0;
7<=6
int → (não
alto então sai
= n-1;
baixo meio alto do
int meio;laço while)
41 52 105 while (baixo <= alto) {
meio = (baixo+alto)/2;
4 5 6 if ( v[meio] == chave)
return meio;
baixo meio alto if ( v[meio] < chave )
105 baixo = meio+1;
else
Em 3 passos do laço 6
alto = meio-1;
retornou -1 }
baixo
PIOR CASO alto return -1;
A chave não se meio
}
encontra no vetor 7
baixo 30
43

Vídeo Busca Binária

https://youtu.be/9BxaR86aTTM (50 seg) Acesso em agosto 2020 31

44

profa. Divani Barbosa 22


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Comparação
Busca Binária versus Sequencial

32
45

Notação Big O

Usada para expressar o quanto um algoritmo computacional é eficiente.

Informa como a
velocidade de um
algoritmo está
relacionada com o
numero de itens a ser
avaliado.

No pior caso o tempo de pesquisa K será multiplicado pelo numero total


de itens (n): Tempo total = K * n 33

46

profa. Divani Barbosa 23


Estrutura de Dados - Aula 27/08/2018 29/08/2020

No pior caso o tempo de pesquisa K


será multiplicado pelo logaritmo na
base 2 do numero de itens:
Tempo total = K * log2(n)

A pesquisa binária oferece um


aumento significativo de velocidade
sobre uma pesquisa linear.
Exemplo: Num vetor de 100 elementos um máximo de 7 comparações
(passos) são necessárias para identificar qualquer chave usando uma
pesquisa binária. Faixa (n) Comparações Log2(n)
10 3 3
100 7 7
1.000 10 10
10.000 13 13
100.000 17 17 34
47

Grafico Big O

Gráfico: Demonstra como tempos de execução são afetados pelo numero de itens 35

48

profa. Divani Barbosa 24


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Textos de Apoio
Para que você possa melhorar seus estudos, consulte também os
seguintes sites:

 Site simulação busca linear e binária. Disponível em:


https://www.cs.usfca.edu/~galles/visualization/Search.html Acesso em:
agosto de 2018

Busca em vetor ordenado. Disponível em:


https://www.ime.usp.br/~pf/algoritmos/aulas/bubi.html Acesso em:
agosto de 2020

36
49

Vídeo Aulas
Para que você possa melhorar seus estudos, consulte também as vídeos
aulas:

Lógica do algoritmo busca binária. (1 min) Disponível em:


https://youtu.be/1tGpLS5JH2Y Acesso em: agosto 2020

Algoritmo e Lógica de programação com Portugol Studio - Busca


sequencial e binária { Vídeo 14} (9 min) Disponível em:
https://youtu.be/ppIh62qyrr0 Acesso em: agosto 2020

37

50

profa. Divani Barbosa 25


Estrutura de Dados - Aula 27/08/2018 29/08/2020

Questionários

O questionário da aula de hoje, Aula 3 - Vetores Ordenados,


Busca Binária e Big O, encontra-se na aba Tarefas do canal
Geral do Teams.

Note que existe um prazo para responde-lo (5 dias), caso não


cumpra o prazo o questionário ficará inativo (não aceitará mais
respostas).

Muito importante que você responda esse questionário pois a


nota dele irá compor a nota de sua avaliação.

38
51

Fim Aula 3

39

52

profa. Divani Barbosa 26

Você também pode gostar