Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações removem o nodo apontado pelo ponteiro p. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. 2. Considere uma lista duplamente encadeada não circular em que struct nodupla { int dado; struct nodupla *dlink; // aponta p/ o nó à direita struct nodupla *elink; // aponta p/ o nó à esquerda }; sendo nodupla *p; //ponteiro para o início da lista A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p é : nodupla *novo; novo = new nodupla; novo.dado = valor; novo.dlink = p; novo.elink = NULL; if (p != NULL) p.elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; if (p != NULL) p->elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; p->elink = novo; p = novo; n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; Gabarito Comentado 3. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para frente, apenas. frente e para trás, apenas. cima e para baixo, apenas. cima e para baixo ou para frente e para trás. trás, apenas. Gabarito Comentado 4. Em relação às estruturas de dados, é correto afirmar: LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair. LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente encadeada. Um grafo com um único vértice e sem arestas é conhecido como dígrafo. Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da estrutura FILO. Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma característica presente nas listas duplamente encadeadas. Gabarito Comentado 5. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. Gabarito Comentado 6. Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Matriz Lista duplamente encadeada Fila Lista encadeada Pilha 7. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: cima e para baixo, apenas. cima e para baixo ou para frente e para trás. frente e para trás, apenas. frente, apenas. trás, apenas. Gabarito Comentado 8. Com relação à lista duplamente encadeada, é correto afirmar que : Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação. A lista precisa ter sempre um ponteiro apontando para o 1º. nó Não pode haver remoções no meio da lista. Não pode ser vazia. A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros. 1. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam o percurso do ponteiro p da esquerda para direita. 2. Observe a struct, definida globalmente, e um trecho de uma função que manipula uma Lista Duplamente Encadeada. struct listaDE { int info; struct listaDE* ant; struct listaDE* prox; }; ... listaDE* novo = new listaDE; novo->info = valor; novo->prox = LISTA; novo->ant = NULL; Assinale a alternativa que apresenta o protótipo dessa função listaDE *busca (listaDE *LISTA, int valor); listaDE *remove(listaDE *LISTA, int valor); listaDE *insereInicio(listaDE *LISTA, int valor); void exibeIpF(listaDE *LISTA); listaDE *insereFim(listaDE *LISTA, int valor); Gabarito Comentado 3. Em uma lista linear duplamente encadeada. O ponteiro do "último" nó nãoé NULL, mas sim aponta de volta para o "primeiro" nó da lista. Além do campo relativo ao dado, cada nó possui dois ponteiros. Cada nó possui um só ponteiro que referencia o próximo nó da lista. O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando um ciclo. Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. Gabarito Comentado 4. Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir: próximo: um ponteiro para o próximo fornecedor da listagem; nome: nome, identificando o fornecedor; valor: preço do equipamento no fornecedor; anterior: um ponteiro para o fornecedor anterior da listagem. Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o trecho de código abaixo. pY->proximo = pX; pX->anterior = pY; pX->proximo = pZ->proximo; pZ->proximo->anterior = pX; pZ->proximo = pY; pY->anterior = pZ; Este trecho de código é usado para inserir na listagem os fornecedores: Y, logo após o Z, e X, logo após o Y. X, logo após o Z, e Y, logo após o X. X, antes do Z, e Y, logo após o Z. Y, antes do Z, e X, logo após o Z. Y, antes do Z, e X, antes do Y. Gabarito Comentado 5. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: frente e para trás, apenas. frente, apenas. cima e para baixo, apenas. cima e para baixo ou para frente e para trás. trás, apenas. Gabarito Comentado 6. Com relação à lista duplamente encadeada, é correto afirmar que : Não pode haver remoções no meio da lista. A lista precisa ter sempre um ponteiro apontando para o 1º. nó Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação. Não pode ser vazia. A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros. Gabarito Comentado 7. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. Gabarito Comentado 8. Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Lista duplamente encadeada Pilha Lista encadeada Matriz Fila 1. As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento simplesmente ou encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista duplamente encadeada? Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para mais de um nó. Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta para mais de um nó. Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior. Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila. Em uma lista duplamente encadeada cada nó aponta para nó seguinte. Gabarito Comentado 2. Considere uma lista duplamente encadeada não circular em que struct nodupla { int dado; struct nodupla *dlink; // aponta p/ o nó à direita struct nodupla *elink; // aponta p/ o nó à esquerda }; sendo nodupla *p; //ponteiro para o início da lista A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p é : n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; if (p != NULL) p->elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; p->elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo.dado = valor; novo.dlink = p; novo.elink = NULL; if (p != NULL) p.elink = novo; p = novo; Gabarito Comentado 3. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para frente e para trás, apenas. trás, apenas. cima e para baixo ou para frente e para trás. cima e para baixo, apenas. frente, apenas. Gabarito Comentado 4. Em relação às estruturas de dados, é correto afirmar: Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da estrutura FILO. Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma característica presente nas listas duplamente encadeadas. Um grafo com um único vértice e sem arestas é conhecido como dígrafo. LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair. LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente encadeada. Gabarito Comentado 5. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permiteque a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. Gabarito Comentado 6. Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Matriz Fila Pilha Lista duplamente encadeada Lista encadeada 7. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: frente, apenas. cima e para baixo ou para frente e para trás. trás, apenas. cima e para baixo, apenas. frente e para trás, apenas. Gabarito Comentado Com relação à lista duplamente encadeada, é correto afirmar que : A lista precisa ter sempre um ponteiro apontando para o 1º. nó Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação. A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros. Não pode haver remoções no meio da lista. Não pode ser vazia. 1. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam o percurso do ponteiro p da esquerda para direita. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 2. Observe a struct, definida globalmente, e um trecho de uma função que manipula uma Lista Duplamente Encadeada. struct listaDE { int info; struct listaDE* ant; struct listaDE* prox; }; ... listaDE* novo = new listaDE; novo->info = valor; novo->prox = LISTA; novo->ant = NULL; Assinale a alternativa que apresenta o protótipo dessa função listaDE *remove(listaDE *LISTA, int valor); listaDE *insereInicio(listaDE *LISTA, int valor); void exibeIpF(listaDE *LISTA); listaDE *busca (listaDE *LISTA, int valor); listaDE *insereFim(listaDE *LISTA, int valor); Gabarito Comentado 3. Em uma lista linear duplamente encadeada. Além do campo relativo ao dado, cada nó possui dois ponteiros. Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando um ciclo. O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. Cada nó possui um só ponteiro que referencia o próximo nó da lista. Gabarito Comentado 4. Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir: próximo: um ponteiro para o próximo fornecedor da listagem; nome: nome, identificando o fornecedor; valor: preço do equipamento no fornecedor; anterior: um ponteiro para o fornecedor anterior da listagem. Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o trecho de código abaixo. pY->proximo = pX; pX->anterior = pY; pX->proximo = pZ->proximo; pZ->proximo->anterior = pX; pZ->proximo = pY; pY->anterior = pZ; Este trecho de código é usado para inserir na listagem os fornecedores: X, logo após o Z, e Y, logo após o X. Y, antes do Z, e X, antes do Y. X, antes do Z, e Y, logo após o Z. Y, antes do Z, e X, logo após o Z. Y, logo após o Z, e X, logo após o Y. Gabarito Comentado 5. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: frente, apenas. trás, apenas. cima e para baixo, apenas. frente e para trás, apenas. cima e para baixo ou para frente e para trás. Gabarito Comentado 6. Com relação à lista duplamente encadeada, é correto afirmar que : Não pode haver remoções no meio da lista. Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação. Não pode ser vazia. A lista precisa ter sempre um ponteiro apontando para o 1º. nó A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros. Gabarito Comentado 7. Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. As operações possibilitam o percurso do ponteiro p da direita para esquerda. Gabarito Comentado 8. Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Pilha Fila Lista encadeada Lista duplamente encadeada Matriz
Compartilhar