Prévia do material em texto
1. A análise e o desenvolvimento de algoritmos com o uso de listas encadeadas são de suma importância no desenvolvimento de uma aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise prévia dos códigos de uma determinada aplicação para iniciar seu desenvolvimento. Analise o algoritmo a seguir e marque a alternativa que representa seu significado: def acao(self,item): atual = self.inicio status = False while atual != None and not status: if atual.dado()==item: status = True else: atual = atual.prox() return status C. Procura um elemento na lista. O algoritmo inicia com o apontamento para o início da lista e declara uma variável como Falso. No segundo momento (comando While), percorre a lista enquanto não chegar ao seu final e o status for diferente de Falso. Dentro do laço com o comando IF, verifica se o dado recebido na função encontra-se no Nodo; caso afirmativo, troca o status para True, informando que encontrou o valor. Ao final, retorna o status se encontrou ou não o conteúdo na lista. 2. A lista simplesmente encadeada é uma lista do tipo dinâmica e apresenta vantagens em relação a listas estáticas, como vetores. A partir da afirmação anterior, marque a opção que informa uma das vantagens das listas simplesmente encadeadas. B. Permitem variação de seu tamanho em tempo de execução. Uma lista simplesmente encadeada permite o aumento e a redução do número de elementos em tempo de execução, sem precisar alocar posições contínuas de memória, como corre em listas estáticas. Na lista encadeada não existe busca de acordo com a indexação, pois a pesquisa é realizada sequencialmente a partir do primeiro elemento, Nodo. A inserção e a remoção de elementos podem ser realizadas em qualquer posição, sem a necessidade de reordenação dos demais elementos, mas, apesar disso, requerem percorrer nodo a nodo até sua posição. 3. A análise e o desenvolvimento de algoritmos com o uso de listas encadeadas são de suma importância no desenvolvimento de uma aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise prévia dos códigos de uma determinada aplicação para iniciar seu desenvolvimento. Analise o algoritmo a seguir e marque a alternativa que representa seu significado: 1 def acao (self,item) 2 temp = No(item) 3 temp.prox(self.ini) 4 self.ini = temp B. Adiciona um novo elemento no início da lista. A função, na linha 1, recebe como parâmetro um valor que será utilizado internamente. Na linha 2, realiza a criação de um No com o dado recebido. Na linha 3, realiza a atualização do ponteiro prox para o primeiro elemento da lista. Na linha 4, adiciona o ponteiro do início da lista para o novo No, inserindo o elemento sempre no início da lista. 4. A lista simplesmente encadeada é uma lista do tipo dinâmica e apresenta vantagens em relação a listas estáticas, como vetores. A partir dessa afirmação, marque a opção que informa um tipo de lista em que é mais apropriado utilizar listas simplesmente encadeadas em detrimento de listas do tipo estáticas, como vetores. C. Listas grandes que realizam diversas inserções em diferentes posições. Uma lista simplesmente encadeada é recomendada para utilização em grandes listas, que podem ter muitas inserções e exclusões em quaisquer posições, cujo tamanho é indefinido. Por ser uma lista dinâmica, não tem sua pesquisa indexada e a varredura ocorre apenas em uma direção, pois possui somente o apontamento para o próximo elemento da lista. 5. As listas simplesmente encadeadas possuem características únicas em seus nodos, diferentemente das listas estáticas. Em relação a essas características únicas, leia as alternativas a seguir e selecione a correta. D. O nodo tem seu conteúdo definido pelo usuário e um ponteiro para o próximo elemento. Uma lista simplesmente encadeada possui em seu nodo uma variável com a posição de memória do próximo elemento, bem como seu respectivo conteúdo. Devido a essa característica, seu armazenamento não precisa ser linear em memória, pois armazena a localização do próximo nodo.