Beruflich Dokumente
Kultur Dokumente
(1) Preciso fazer uma relação de tudo o que levar em minha viagem de mochila pela Europa. A estrutura de dados mais
adequada para armazenar tudo que preciso levar é ...
Grafo
Lista
árvore
Fila
Pilha
2. Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a
alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
3. Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade a cidade. Qual a
estrutura de dados mais adequada para modelar este problema ?
Lista
Fila
Grafo
Pilha
Árvore
4. Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este
problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma.
Lista
Fila
Pilha
Grafo
Árvore
5. As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações
na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação de dados associados a
estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:
6. Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é :
Grafo.
Vetor.
Lista.
Pilha.
Fila.
Explicação:
Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear.
7. As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a
otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados,
assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a opção
que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório aos dados e alocação
destes de forma contínua na memória.
Lista Encadeada
Lista Sequencial
Pilha Encadeada
Fila Sequencial
Pilha Sequencial
8. Para organizar as fotos de minha família com os ancestrais de várias gerações, minha filha usou uma estrutura de dados
que é ..... Assinale a opção certa.
árvore
pilha
lista
grafo
fila
1a Questão (Ref.:201808354233) Acerto: 1,0 / 1,0
Estão entre algumas das possíveis formas de estruturas de dados:
Pilhas Encadeadas
Vetores
Filas Encadeadas
Listas Encadeadas.
Grafos
Respondido em 28/10/2019 11:51:56
0
20
Haverá um erro de compilação
10
5
Respondido em 28/10/2019 11:54:21
São blocos de instruções que são executados quando são chamadas em alguma parte do programa.
Obrigatoriamente devem possuir parâmetros.
Não podem ser chamadas dentro de outras funções.
Obrigatoriamente devem retornam algum valor.
Não devem conter variáveis locais em seu código.
Respondido em 28/10/2019 12:20:39
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10].nota=5.7;
vet[10]=aluno.5.7;
Respondido em 28/10/2019 11:56:07
struct aluno {
string nome;
float nota;
};
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;
Respondido em 28/10/2019 12:03:02
Gabarito
Coment.
Inserção
Hash
Seleção
Binária
Bolha
Respondido em 28/10/2019 12:05:41
Gabarito
Coment.
struct Livro {
string titulo, editora, autor;
float preco;
};
A função X abaixo
implementa a operação de :
Substituição
Busca
Inserção
Gabarito
Coment.
Registro
Função
Vetor
Matriz
Variável
Respondido em 28/10/2019 12:13:08
Gabarito
Coment.
1a Questão
Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas
respectivas coleções de dados.
Explicação:
Por definição : pilha, fila, lista, vetor são estruturas lineares. Já árvore e grafos são estruturas de dados não lineares.
Gabarito
Coment.
2a Questão
A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:
3a Questão
Gabarito
Coment.
4a Questão
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e
sub-diretórios. Qual a estrutura mais adequada para representar este problema ?
pilha
lista
árvore
grafo
fila
Respondido em 31/10/2019 19:13:45
Gabarito
Coment.
5a Questão
Preciso fazer uma relação de tudo o que levar em minha viagem de mochila pela Europa. A estrutura de dados mais
adequada para armazenar tudo que preciso levar é ...
lista
grafo
fila
árvore
pilha
Respondido em 31/10/2019 19:13:55
Explicação:
6a Questão
Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema
operacional?
Grafo
Lista
Fila
Árvore
Pilha
Respondido em 31/10/2019 19:14:21
7a Questão
Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas,
destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
8a Questão
Um tipo abstrato de dados descreve, além do que se pode fazer com os dados, como as operações serão efetivamente
implementadas.
É fundamental que os tipos abstratos de dados proponham um conjunto eficiente de algoritmos para realização de suas
operações.
Um tipo abstrato de dados é composto por um modelo de dados e um conjunto de operadores definidos sobre esses
dados.
Um tipo abstrato de dados deve sempre ser representado por meio dos recursos específicos de uma linguagem de
programação.
Um tipo abstrato de dados é um modo particular de armazenamento e organização de dados em um computador de
modo que possam ser usados eficientemente.
FUNÇÕES
1. No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente.
#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{
float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}
I) Os vetores em C++, quando passados como parâmetros de funções, são obrigatoriamente passados "por valor" e não
"por referência".
II) Variáveis globais são um recurso adequado para troca de informações entre funções distintas.
III) Caso uma função necessite retornar mais de um valor ao programa que a chamou, deve fazê-lo usando parâmetros
passados "por valor".
Apenas II
Apenas III
Apenas I e II
Apenas I
3.
1) O que será impresso pela função Eureka ? Assinale a opção correta.
void Eureka()
{
for (int i = 1; i <= 10; i++)
if (i % 2 == 0)
cout << i << " ";
else
if (i % 7 == 0)
return;
}
Nada é impresso, pois a função não compila. Para a função compilar, deveria ter int no lugar de void, já que há return na função.
Nada é impresso, pois a função não compila. A função não deveria usar return, pois não está de acordo com o uso de void.
2 4 6 8 10
246
2468
4. As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço reservado na
memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na memória, fora do
escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração desta forma estamos
declarando uma variável do tipo:
Inteiro
Local
Constante
Global
Real
IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada
int n, na=1;
na += 1;
num /= 10;
return na;
main() {
7. Funções são semelhantes aos procedimentos, exceto que uma função sempre retorna um valor. Um exemplo de função
seria o conjunto de instruções para calcular o fatorial de um número e após a função ser executada, ela deve retornar o
fatorial do número pedido. Marque a opção que representa um protótipo de função válido.
nome tipo(parametros);
tipo parametros(parametros);
retorno nomeFuncao(parametros);
8. Caso uma estrutura homogênea (vetor) seja passada como parâmetro para uma função, então:
Essa passagem pode ser "por valor" ou "por referência"
Haverá um erro de compilação, pois vetores não podem ser parâmetros de funções
5. Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser
ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando
necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o
programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos
ativando a função por meio de:
Envio de inteiro.
Ponteiros.
Envio de valor.
Registro.
São blocos de instruções que são executados quando são chamadas em alguma parte do programa.
3. Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte
programa principal for executado? int main() { int n; n = 5; dobro(n); cout << n; return 0; }
10
20
2. Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a função
chamada e, dessa forma, o valor poderá ser alterado, ou não.
referência
número
valor
void
caracter
a = b - a;
b = a * 2;
a = b * 2;
return a;
z = func (x,y);
cout << x << "; " << y<< "; " << z;
4; 2; 4
1; 3; 1
2; 2; 1
1; 2; 4
2; 2; 4
ESTRUTURAS HETEROGENEAS
Pilha
Vetor
Registro
Loop
Fila
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
3. Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos)
deste registro se dá pelo operador :
∙ (ponto).
-> (seta).
* (asterisco).
, (vírgula).
4. o programa de computador necessita preencher uma lista de alunos (nome e nota) até que a lista esteja cheia. Sabe-se
que a lista tem capacidade para 25 alunos. Utilizando agregados heterogêneos, qual o trecho de código que exibe a melhor
forma de solucionar este problema?
for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->nota; }
for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
for (int i = 0; i < 25; i++) { cin >> lista[i]->nome; cin >> lista[i]->nota; }
int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; }
5. Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica
e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a
definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta
estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o
quarto elemento deste vetor.
aluno[3].media=6.0;
vet[3].aluno=6.0;
aluno[10]=6.0;
vet[3].media=6.0;
aluno[3].10=6.0;
struct Livro {
int codigo;
float preco;
} liv;
liv.preco = 30.70;
Livro->liv.codigo = 12345;
liv->preco = 30.70;
Livro.codigo = 12345;
Livro.liv.codigo = 12345;
7. Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica
e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura
como:
struct aluno {
string nome;
float nota;
};
aluno.vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10].aluno.nota=5.7 ;
vet[10]=aluno.5.7;
vet[10].nota=5.7;
Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados
distinto de outro campo.
Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de
tipos diferentes ou não.
3. Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de
itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa
que apresenta o código do método de seleção.
II- Registros em C++ são tipos de dados compostos formados por mais de um tipo de dados.
III- Na Linguagem C++, "struct" é uma palavra reservada que serve para definir registros.
AULA 4
1.
2. Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e
o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem
ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca
sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor
até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa
que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca
binária, respectivamente, até encontrarem o 70.
5e5
7e1
6e4
6e1
6e2
inicio=0;
fim= tamanho - 1;
meio=(inicio+fim)/2;
while(procura != nomeVetor[meio] && inicio != fim)
{
if(procura > nomeVetor[meio])
inicio=meio+1;
else
fim=meio;
meio=(inicio+fim)/2;
}
if(nomeVetor[meio]==procura)
cout<<"\n....: "< < outroVetor[meio]<<endl;
else
cout<<"\nDado nao encontrado\n";</endl;
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
5. Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos candidatos
para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o sistema
implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de inscrição. O número
máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada busca sequencial,
respectivamente, seria de:
9e9
1024 e 512
10 e 1024
10 e 10
9 e 10
6. O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo número de
inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota do candidato, um
programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição
procurado com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado do meio do
vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca termina com sucesso. Caso contrário, se
candidato posicionado do meio do vetor tiver número de inscrição menor que o procurado, então a busca continua na
metade posterior do vetor. E finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o
procurado, a busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método
denominado busca:
binária.
linear.
por comparação.
por contagem.
randômica.
7. Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca em
vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está ordenado e
realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento do meio do vetor, é
chamado de:
Tabela Hash
Pesquisa ordenada
Pesquisa sequêncial
Pesquisa binária
Pesquisa de seleção
8.
Quicksort.
Mergesort.
-2
-1
1
Quando o valor pesquisado é maior do que a chave do MEIO da lista, devemos dispensar a metade que vem antes
do meio da lista.
São realizadas sucessivas divisões da lista ao meio.
5. Sabendo-se que o método de seleção também é um método de ordenação que baseia seu algoritmo em trocas entre os
elementos de um vetor, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem
: 13, 23, 3, 8, 1. Pode-se dizer que quando o menor elemento do vetor alcançar sua posição final, a ordenação
apresentada no vetor é:
1,8,3,23,13
1,3,23,8,13
1,13,23,8,3
1,23,3,8,13
1,23,13,8,3
sempre desordenada.
ordenada ou desordenada.
3. Caso seja empregada uma busca binária em uma lista sequencial ordenada com 2048 valores, qual seria o número
máximo de comparações para encontrar um valor que esteja na lista?
12
11
10
2. Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções que
façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque corretamente a
alternativa que descreve as funcionalidades desta.
int i , // índice
trocou = true,
fim = n - 1;
while (trocou)
aux = v[i];
v[i] = v[i+1];
v[i+1] = aux;
trocou = true;
} // fim if
} // fim for
} // fim while
} // fim da função
Mergesort
Bublesort
Heapsort
Quicksort
Shellsort
8. O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de ordenação.
Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos os elementos do vetor e
troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do elemento de menor valor e troca pelo
segundo elemento e assim sucessivamente, é chamado de:
Seleção
Binária
Bolha
Inserção
Hash
7. Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Que utiliza o método inserção e realiza uma ordenação crescente nos elementos do vetor v.
Que utiliza o método seleção e realiza uma ordenação decrescente nos elementos do vetor v.
Que utiliza o método inserção e realiza uma ordenação decrescente nos elementos do vetor v.
Que utiliza o método bolha e realiza uma ordenação crescente nos elementos do vetor v.
Que utiliza o método seleção e realiza uma ordenação crescente nos elementos do vetor v.
5. Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de nome v com n elementos.
...
int i, j, aux;
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
Bolha
Inserção
Seleção
Quicksort
Heapsort
4. Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples?
Qual a quantidade total de impressões da letra x nas buscas pelos números n = 4, n = 2 e n = 0 no vetor
[1,2,3,4,5,6,7,8], sendo tam = 7 ?
busca(vetor, 4, 7);
busca(vetor, 2, 7);
busca(vetor, 0, 7);
4
5
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento
para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento
para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento
para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento
para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento
para manter outros problemas.
É o módulo do valor de e
6. "Algoritmo de ordenação por trocas que varre um vetor um certo número de vezes, comparando os elementos vizinhos
dois a dois. A cada varredura, se o par de elementos está em ordem crescente, nada é feito, caso contrário os elementos
do par são permutados". Esta definição está descrevendo o algoritmo de ordenação conhecido por :
SelectionSort
QuickSort
MergeSort
BubbleSort
InsertionSort
5. Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários
métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a
estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
Hash
Binária
Inserção
Seleção
Bolha
int i, j, m, aux;
m = j;
m = i;
aux = v[j];
v[j] = v[m];
v[m] = aux;
}
Trecho na main :
misterio(v, 4);
Marque a opção correta. Como ficará o vetor após a execução da função misterio ?
10 20 40 30
10 20 30 40
5 10 20 30
10 30 40 20
10 30 20 40
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o
dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
2. O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o nome e a nota obtida
pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente. Sendo o vetor pequeno (poucos elementos), o programador
responsável por desenvolver este algoritmo, escolheu um método de ordenação que executa os seguintes passos:
Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;
Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste apenas um candidato.
Inserção
Bolha
Heapsort
Seleção
Quicksort
1. É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca,
comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso.
Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E finalmente, se o elemento do
meio vier depois da chave, a busca continua na metade anterior do vetor.
binária.
linear.
por contagem.
por comparação.
randômica.