Prévia do material em texto
PROVA x Protocolo: 1115342 Portfólio Curso: Engenharia de Software Disciplina: Estruturas de Dados I Polo: 753 Ano: 20261 Semestre: PROVA RGM: 123.2299 01 3 Aluno: Questão 1 Qual A a principal vantagem oferécida pela alocação DA ALOCACAO dinâmica de memória em relação a R QUE A,MEMORIA SEJA A DO CONFORME A NECESSIDADE, bo DE MEMORIA DE Questão 2 uais serão os valores de X, y e p ao final do trecho de código abaixo? int X, y, *p; y = 0; p = &y; X = *p; X = 4; (*p)++; --X; Página 1 - 02/06/2026 às 14:51PROVA Protocolo: 1115342 (*p) += = X; RESPOSTA x=3 = P = de y Questão 3 Seja a seguinte sequência de instruções em um programa C/C++: int *pti; int i = 10; pti = &i; Qual afirmativa é falsa? a) pti armazena 0 endereço de i b) *pti é igual a 10 c) ao se executar *pti = 20, i passará a ter 0 valor 20 d) ao se alterar valor de i, *pti será modificado é igual a 10 Questão 4 Qual das instruções abaixo é correta para declarar um ponteiro para inteiro? a) *int pti; b) *pti; c) &i; d) int_pti pti; int *pti; Página 2 - - 02/06/2026 às 14:51PROVA Protocolo: 1115342 Questão 5 No desenvolvimento de um sistema de análise financeira, um programador utilizou um algoritmo cuja complexidade de tempo, no pior caso, é igual a O(n^2). Outro programador aponta um algoritmo de melhor complexidade igual a: a) O(n^4). O(n log n). c) O(n^3). d) e) O(n!). Questão 6 Observe 0 código abaixo, que busca maior elemento de um vetor v[0..n -1], e a assinale a sua complexidade. int max(int int v[]) { return } O(n) b) O(logn) c) O(nlogn) d) e) O(n^2) Questão 7 Quais os algoritmos de ordenação abaixo possuem tempo no pior caso proporcional a O(n^2)? a) Quick Sort e Merge Sort. Selection Sort e Insertion Sort. c) Merge Sort e Insertion Sort. d) Heap Sort e Selection Sort. e) Merge Sort e Heap Sort. Questão 8 Seja n tamanho da entrada de um algoritmo para um problema P. Cada alternativa, que corresponde a um algoritmo distinto, apresenta 0 número de operações Página 3 - 02/06/2026 às 14:51PROVA Protocolo: 1115342 necessárias para resolver P. Considerando-se a análise assintótica notation), qual algoritmo possui maior complexidade? a) 2 + logn b) n + 3n^2 c) 1000 + 2n^3 d) 5n + 128 Questão 9 Dois vetores ordenados, contendo, cada um deles, n números inteiros, precisam ser unidos em outro vetor maior, que conterá os 2n números, que também serão armazenados de forma ordenada. A complexidade de tempo de melhor caso desse processo será, então: a) pois se precisa fazer apenas uma cópia simples de cada um dos elementos originais. b) O(log n), pois se usa a busca binária para determinar qual será próximo elemento copiado para vetor de destino. c) O(nlog n), pois se precisa fazer uma busca de cada elemento para depois inseri-lo no vetor de destino. O(n), pois se precisa fazer uma cópia de cada um dos elementos originais, que implica uma varredura completa de cada vetor de origem. e) O(n^2), pois, como há dois vetores, precisa-se fazer dois laços de forma aninhada (um dentro do outro), gerando uma multiplicação das quantidades de elementos. Questão 10 Dado conjunto de instruções de um programa C/C++: int *pti; int veti[ ] = {8,7,2,6,3}; pti = = veti; Qual afirmativa é verdadeira? *(pti+2) é igual a 2 b) pti é igual a 8 c) pti[0] é igual a 7 d) pti[5] é igual a 3 e) *(veti+3) é igual a 2 PROVA 02 Questão 1 algoritmo abaixo, chamado Ordena, implementa um conhecido método de ordenação sequencial. Se algoritmo for executado recebendo como parâmetros Ordena([5, 3, 1, 2, 4], 5), quantas trocas são efetuadas em vet[] e em que sentido é feita a ordenação (crescente ou decrescente)? Página 4 - 02/06/2026 às 14:51PROVA Protocolo: 1115342 Ordena (vet [] inteiro, n inteiro) inicio declare i, j, pos, aux inteiro; para i de 1 até n-1 faça pos então posPROVA Protocolo: 1115342 Questão 3 algoritmo de ordenação que busca 0 maior elemento do vetor e insere na última posição do vetor e que, posteriormente, busca 0 segundo maior valor do vetor e coloca na penúltima posição do vetor, e assim sucessivamente, até que todo o vetor esteja ordenado, denomina-se: a) Inserion-Sort Selection-Sort c) Heap-Sort d) Merge-Sort e) Quick-Sort Questão 4 Ana precisa utilizar uma estrutura de dados para gerenciar trabalhos de impressão em uma impressora compartilhada por vários computadores em uma rede. As regras dessa estrutura devem permitir que os trabalhos sejam impressos na ordem em que forem enviados, ou seja, primeiro a enviar um pedido de impressão deve ser primeiro a ter sua solicitação atendida. Não deve ser permitido inserir pedidos de impressão no meio dos pedidos já realizados. A estrutura de dados mais adequada para Ana utilizar é: a) pilha b) lista ordenada c) lista desordenada fila e) nenhuma das anteriores Questão 5 Qual 0 algoritmo de ordenação abaixo possui tempo de complexidade no melhor caso proporcional a O(n)? a) Selection-Sort b) Quick-Sort Insertion-Sort. d) Heap-Sort. e) Merge-Sort Questão 6 Nas estruturas de dados, a) devido às características das operações da fila, primeiro elemento a ser inserido será último a ser retirado. Estruturas desse tipo são conhecidas como LIFO. b) as pilhas são utilizadas para controlar 0 acesso de arquivos que concorrem a uma única impressora. c) a fila é uma lista linear na qual as operações de inserção e retirada ocorrem apenas no início da lista. a pilha é uma lista linear na qual as operações de inserção e retirada são efetuadas apenas no seu topo. Página 6 02/06/2026 às 14:51PROVA Protocolo: 1115342 e) devido às características das operações da pilha, último elemento a ser inserido será último a ser retirado. Estruturas desse tipo são conhecidas como FIFO. Questão 7 Uma das estratégias de ordenação consiste no seguinte processo: uma coleção desordenada de elementos é dividida em duas metades e cada metade é utilizada como argumento para a reaplicação recursiva do procedimento. Os resultados das duas reaplicações são, então, combinados pela intercalação dos elementos de ambas, resultando em uma coleção ordenada. Qual algoritmo emprega essa estratégia? a) Insertion-Sort Merge-Sort c) Bubble-Sort d) Quick-Sort e) Selection-Sort Questão 8 Observando código abaixo, a função apresentada é a implementação de que algoritmo de ordenação? void ordena (int int tam) int i, max, aux; for (i = i > i--) { max = i; for (j = (i-1); j >= 0; j--) > max = j; ) if (num[i] aux = num [i] ; = = aux; a) Merge-Sort b) Bubble-Sort c) Insertion-Sort Página 7 - 02/06/2026 às 14:51PROVA Protocolo: 1115342 Selection-sort e) Quick-Sort Questão 9 Assinale a alternativa que corresponde aos algoritmos de ordenação que adotam a estratégia de divisão e conquista. a) Inserion-Sort e Selection-Sort. b) Heap-Sort e Selection-Sort. c) Insertion-Sort e Heap-Sort. Merge-Sort e Quick-Sort. e) Quick-Sort e Heap-Sort. Questão 10 Estruturas de dados básicas, como as pilhas e filas, são usadas em uma gama variada de aplicações. As filas, por exemplo, suportam alguns métodos essenciais, como a) enqueue(x), que insere elemento X no fim da fila, sobrepondo o último elemento. b) push(x), que insere elemento X no topo da fila, sem sobrepor nenhum elemento. c) pop(), que remove elemento do início da fila e retorna, ou seja, devolve 0 último elemento inserido. dequeue(), que remove e retorna elemento do começo da fila; um erro ocorrerá se a fila estiver vazia. e) top(), que retorna 0 elemento do fim da fila sem removê-lo; um erro ocorrerá se a fila estiver vazia. Página 8 - 02/06/2026 às 14:51