Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.260 questões
A ordenação de elementos em um vetor pode ser executada a partir de diversos algoritmos conhecidos e que são adequados para situações específicas. Sobre algoritmos de ordenação, dadas as seguintes afirmativas,
I. O algoritmo Bubble Sort é eficiente para ordenar poucos elementos, mas é lento para ordenar muitos itens.
II. O algoritmo Selection Sort para ordenação crescente
consiste em mover o menor valor do vetor para a primeira
posição, depois o segundo menor para a segunda posição e
assim sucessivamente até os dois últimos valores.
III. O algoritmo Quick Sort ordena os valores de um vetor através de sucessivas seleções do elemento correto a ser posicionado em um segmento ordenado.
verifica-se que está(ão) correta(s)
Dada a figura abaixo, qual a ordem de visita nos nós do grafo seguindo a listagem pré-ordem?
Um robô foi programado para arrumar cada um dos 6 objetos diferentes em uma prateleira do móvel, representado a seguir, de modo que a arrumação de um dia nunca era a mesma dos dias anteriores.
Ele conseguiu fazer isso
Os exemplos de pseudocódigo a seguir resolvem Xn para X en inteiros maiores que 0:
ALGORITMO EXEMPLO 1
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
CONT ← 1
A ← 1
ENQUANTO (CONT <=N) FAÇA
A ← A * X
CONT ← CONT + 1
FIM_ENQUANTO
IMPRIMA(A)
FIM
ALGORITMO EXEMPLO 2
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
A ←1
PARA CONT ← 1 ATÉ N PASSO 1
A ← A * X
FIM_PARA
IMPRIMA(A)
FIM
Sobre os exemplos apresentados, é correto afirmar que:
Algoritmo "Fatorial";
variável:
RESULTADO,VAR1,VAR2: inteiro;
inicio
Escreva("Digite um numero");
Leia(VAR1);
RESULTADO ← 1;
Para VAR2 de 1 ate VAR1 faca
RESULTADO ← RESULTADO + VAR2;
Fimpara;
Escreva (“O fatorial de “, VAR1, “ e: “, RESULTADO);
fim.
O objetivo desse algoritmo é calcular o fatorial de um número informado pelo usuário. Embora o algoritmo esteja bem formatado (seguindo as regras de codificação), existe um erro lógico que impede o algoritmo de apresentar o resultado correto, que é:
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Nesse contexto, considere a execução das instruções a seguir
push(pY, pop(pX));
push(pZ, pop(pX));
push(pY, pop(pX));
push(pZ, pop(pX));
push(pX, pop(pY));
push(pZ, pop(pY));
push(pZ, pop(pX));
Após a execução das instruções acima, quais os somatórios dos elementos em cada uma das pilhas pX e pZ, respectivamente?
I - Nas árvores B todas as folhas sempre estarão no mesmo nível.
II - Nas listas duplamente encadeadas, todos os nós apontam para os nós sucessores e antecessores.
III - Nas árvores binárias cada nó pode ter no máximo duas subárvores.
I. Uma organização de arquivo hash (também chamada de acesso direto) fornece um acesso muito rápido aos registros, quando a condição de pesquisa é de igualdade em um único campo; neste caso, o campo é chamado campo de hash. A ideia do hashing é forncecer uma função h, chamada função hash, que, aplicada ao valor do campo hash de um registro, gere o endereço do bloco do disco no qual o registro será armazenado.
II. Em uma organização de arquivo heap, os registros são armazenados fisicamente em ordem sequencial a partir dos valores de um de seus campos, chamado campo de classificação. Na organização de arquivo heap, a inclusão e a exclusão de registros são operações dispendiosas porque os registros deverão permanecer ordenados fisicamente.
III. Em uma organização de arquivo sequencial, os registros estão posicionados no arquivo segundo a ordem pela qual foram incluídos, de forma que os novos registros são acrescentados ao final do arquivo ou onde haja espaço disponível. Na organização sequencial, para ler todos os registros pela ordem dos valores de algum campo, é preciso criar uma cópia do arquivo e ordená-la através de técnicas especiais de classificação externa.
IV. As operações em arquivos são geralmente divididas em operações de recuperação e operações de atualização. As operações de recuperação não alteram nenhum valor no arquivo, apenas localizam certos registros, de forma que seus valores de campo possam ser examinados e processados. As operações de atualização mudam o arquivo por meio da inclusão ou da exclusão de registros ou pela modificação de valores dos campos.
Assinale a alternativa CORRETA.

Caso um contador, previamente inicializado com o valor zero, seja inserido no início do comando de repetição externo, qual será o seu valor imediatamente após o encerramento desse comando de repetição?
Cada uma das listas originais possui ponteiros para o primeiro e para o último elementos. Qual é a complexidade do algoritmo mais eficiente que esse programador pode produzir?
Então, o método apropriado para calcular G(z) é