A maioria das aplicações em computação requer operações como inserção, remoção e consulta de dados. O conhecimento e bom uso das diversas estruturas de dados definirão a qualidade dos produtos de software. Sobre este tema, analise as afirmações I, II, III e IV.
I. A operação de busca linear é mais eficiente na lista duplamente encadeada e este tipo de lista necessita de mais memória para a alocação de seus nós.
II. As estruturas do tipo pilha e fila são consideradas listas especializadas por possuírem características próprias. A estrutura do tipo pilha é considerada do tipo FIFO (First In First Out) e a estrutura do tipo fila é considerada do tipo FILO (First In Last Out).
III. A figura a seguir representa uma lista duplamente encadeada e não ordenada.

IV. Considere que a figura a seguir é a representação gráfica da estrutura de dados para uma lista duplamente encadeada e ordenada. Se a lista já possui elementos, pode-se afirmar que o subprograma na sequência corresponde à implementação de inserção de um novo elemento na lista.

...
aux = inicio;
while (aux != null && novo.num > aux.num){
aux= aux.prox;
}
if (aux == inicio){
novo.prox = inicio;
novo.ant = null;
inicio.ant = novo;
inicio = novo;
}
else if (aux == null){
fim.prox = novo;
novo.ant = fim;
fim = novo;
fim.prox = null;
}else{
novo.prox = aux;
aux.ant.prox = aux;
novo.ant = aux.ant;
aux.ant = novo;
}
...
Assinale a alternativa correta: