Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
int bits = 0;
while (x != 0) { bits++; x=x/2; }
return bits;
}
I. Se o número de passos realizados por um algoritmo A é (n2 + n) para várias entradas de tamanho n, então a complexidade de A é O(n2 ).
II. Se a complexidade de pior caso de um algoritmo A for n, então o número de passos efetuados por A é O(n), qualquer que seja a entrada.
III. Se a complexidade de pior caso de um algoritmo A for n, então podemos afirmar que A é O(n) e também O(n2 ), mas a afirmação O(n) é mais precisa e deve ser utilizada.
Assinale a alternativa CORRETA.
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
f(x)
x ← x + 1
devolva x
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
Considere agora o seguinte trecho de código que invoca a função f definida acima.
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
a ← 0
escreva a
escreva f(a)
escreva a
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
A execução do trecho de código acima resultaria na escrita de
proc insertionSort(int[] arr)
int tamanho <- tam(arr);
int i, j, aux;
para i de 1 incr 1 até tamanho-1 faça
aux <- arr[i];
para j de i-1 incr -1 até (j >= 0 e aux < arr[j]) faça
arr[j+1] <- arr[j];
arr[j+1] <- aux;
Procedimento XYZ( TABELA, NUMERO DE CODIGOS, CEP);
tipo tabela de conversão = vetor[1: NUMERO DE CODIGOS] conversão;
tipo de conversão = registro inteiro: CA, CN fim registro;
tabela de conversão: TABELA;
inteiro: NUMERODECODIGOS, CEP;
inicio
inteiro comeco, meio, fim;
COMECO <- 1; FIM <- NUMERODECODIGOS;
repita
MEIO ,<-( COMECO + FIM) /2
se CEP <TABELA[MEIO].CA;
então FIM <- MEIO -1;
senão
se CEP>TABELA[MEIO].CA;
então
CEP <- TABELA[MEIO] +1;
senão
Imprima( " Falta CEP", NUMERO);
fim se;
abandone;
fim se;
fim se;
até COMECO> FIM;
fim(XYZ)
O algoritmo mostrado a seguir resume corretamente a inserção com um leque de, no máximo, sete elementos.
Type leque = record
topo: integer;
memo: array [1..7] of char;
end;
var L:leque;
p.topo: = 0
procedure push (var L:leque; x:char);
begin
if not L.topo>7 then
begin
L.topo :=L.topo+1;
L.memo [L.topo]:= x;
end;
end;
A função mostrada abaixo é um exemplo de algoritmo recursivo.
Function fat (x:integer) : integer;
begin
if x=0 then cfat := 1
else fat := x * cfat (n-1);
end;

Ao final da execução desse algoritmo, o valor de k será igual a
julgue os itens subsequentes.