Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.164 questões
O código abaixo pode ser utilizado para atravessar um grafo.
Entrada: um gráfico G e um vértice v de G
Saída: todos os vértices alcançáveis de v marcados
função DFS(G,v):
marque v
para todas as arestas adjacentes a v, faça
se vértice w não estiver marcado, então
Chame recursivamente DFS(G,w)
fim se
fim para
fim função
Entre os diversos tipos de algoritmos utilizados para atravessar grafos, esse código implementa o algoritmo
Um método que implementa um algoritmo de busca binária recebe como parâmetros um vetor de inteiros ordenados descendentemente, o comprimento desse vetor e um número inteiro que se deseja localizar no vetor. O cabeçalho desse método é o seguinte:
public int buscaBin(int vet[], int n, int val)
Admitindo-se que o vetor passado como parâmetro tenha 750 elementos, qual será o número máximo de iterações que o algoritmo irá realizar até que o valor (val) seja localizado ou que seja detectado que esse valor não se encontra no vetor?
Sobre algoritmos de busca, analise as informações a seguir.
I. Uma busca linear sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao tamanho do array.
II. Uma busca binária sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.
III. Uma busca binária recursiva sobre um array de uma dimensão pode ser implementada sem laços e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.
IV. Uma busca linear sobre um array de duas dimensões pode ser implementada com dois laços e possui complexidade, no pior caso, linearmente proporcional à soma da quantidade de linhas e colunas do array.
V. Uma busca em uma estrutura de dados chamada Tabela de Dispersão (Hash Table) pode ser implementada sem laços e possui complexidade, no pior caso, constante, independentemente do tamanho do array.
Estão CORRETAS, apenas, as proposições
O tipo de passagem de parâmetro que permite que x seja um parâmetro tanto de entrada como também de saída da sub-rotina é denominado passagem de parâmetro
Inteiro: i, a, b, c, Y, X; Leia (a, b, c); X ← 0; Y ← 0; Para i de 1 até 5 faça [ Se ((i > b) e (i ≤ c)) Então [ Y ← (2*i) + c;
] Senão [ Y ← a; ] X ← X + Y; ] Imprima X;
Suponha que os valores lidos para a, b e c tenham sido, respectivamente, 1, 2 e 3. Ao final da execução desse algoritmo, o valor impresso para X será:
Em ciência da computação, um algoritmo é uma sequência de ações executáveis com objetivo de obter solução para uma situação problema. Nesse sentido, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F).
( ) Um algoritmo não representa necessariamente um programa de computador, e sim os passos para realizar determinada tarefa.
( ) Determina o valor necessário para elaborar uma tarefa.
( ) A implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano.
( ) Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.
Para responder a questão, considere os dados a seguir:
No portal do TCE-RS há os seguintes dados com relação ao indicador “Despesas com Educação” no município de Porto Alegre:
PORTO ALEGRE
Despesa: R$ 635.024.252,88
Receita: R$ 2.325.564.053,44
Percentual:
2012 27,31%
2011 26,90%
2010 27,10%
2009 27,72%
2008 25,33%
O indicador “Despesas com Educação” também foi medido em diversos municípios do estado do Rio Grande do Sul e as seguintes atividades deverão ser realizadas com base nestes dados:
I. Unir aos dados ordenados dos anos de 2008 a 2012, os dados já ordenados dos anos de 2000 a 2011, criando um único novo vetor ordenado.
II. Construir uma estrutura de dados que permita inserir o indicador de 2012 relativo às “Despesas com Educação” e os nomes de todos os municípios do Estado. A estrutura deve permitir realizar uma consulta eficiente pelo nome do município para obter o valor do indicador e também mostrar os nomes dos municípios em ordem alfabética junto com seu indicador.
Para as tarefas I e II, optou-se, de forma correta e mais adequada, por utilizar
Considere um método busca que recebe como parâmetros um elemento x do tipo inteiro e um vetor V de inteiros. O objetivo do método é verificar se o elemento x está contido no vetor V. Em caso positivo, a posição de x em V é retornada. Caso contrário, o valor -1 é retornado. Assim, por exemplo, se o método busca é executado com V = [1,7,5] e x = 2, o valor -1 é retornado. Se o método busca é chamado com V = [1,7,5] e x = 7, o valor 1 é retornado.
Usando a técnica de teste funcional, a seguinte partição do domínio de entrada foi definida:
Característica: localização do elemento na lista
Bloco 1: elemento é o primeiro da lista
Bloco 2: elemento é o último da lista
Bloco 3: elemento está em alguma posição na lista, exceto na primeira e na última
Tendo em vista que cada teste é composto por uma tupla (V, x), assinale a alternativa que apresenta, de forma correta, o conjunto de testes definidos com base na partição acima.
Um programa tem a seguinte expressão lógica:
(NOT A=9 AND C=4) OR (NOT A=9 AND B<7) OR (A=9 AND C=4).
Qual das alternativas abaixo apresenta, de forma simplificada, a mesma lógica da expressão original acima descrita?
Observe o seguinte pseudo-código:
X[1] <- 10
X[2] <- X[1] + 20 * 2
X[3] <- 100
Y <- X[2]
SE X[1] = 10 ENTAO X[1] <- X[3] + X[1] + 50
Z <- Y + X[1] + x[2]
Ao final da execução do código acima, qual é o valor da variável Z?