Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estruturas de dados linear - Coggle Diagram
Estruturas de dados linear
Array
Acesso de elemento em tempo constante
Inserção e deleção pouco eficientes
Precisa reservar memória
Linked List
Sequência de nós que possuem dados próprios e ponteiros pra outros nós da lista
Acesso de elementos depende da posição
Não precisa reservar memória prematuramente
Inserção e deleção feitas com eficiência
Flexível para programar, permite adicionar características que ajudem na utilização de acordo com o intuito do programa
Criação de "header" com informações adicionais da lista, como o tamanho atual, ponteiro para o ultimo elemento ...
Doubly linked list: nós com ponteiros para o sucessor e antecessor
Double Linked List
Nós possuem ponteiros para o próximo elemento e para o anterior
Utiliza mais memória que uma single linked list
Stack
Usados na implementação de algoritmos recursivos
Last in First Out
Inserção e deleção apenas no final da lista
Menor flexibilidade
Maior eficiência
Maior facilidade de implementar
Implementações
Array based stack
Essencialmente uma array list simplificada
curr == top
elemento top guarda informação do tamanho da stack
Declarada com tamanho fixo na criação
Linked Stack
Elementos inseridos e retirados no head
Top == ponteiro para o primeiro nó da stack
Queue
"Fila"
Elementos deletados pela frente: "dequeue"
Elementos inseridos no final: "enqueue"
First In First Out
Utilizado em diversos algoritmos para problemas de grafos
Priority queue
Fila com diferenciação de prioridade
Coleção de dados de um universo ordenado, geralmente números
Principais operações
Achar o maior elemento
Deletar o maior elemento
Adicionar novo elemento