Módulo 01: Fundamentos da Computação • Ciência da Computação Formal
🗺️ 1. Mapa Comparativo das Estruturas Lineares
flowchart LR
A["Estruturas Lineares"] --> VEC["Vetor / Array
(Acesso O(1), Inserção O(n))"]
A --> LIST["Lista Encadeada
(Inserção O(1), Acesso O(n))"]
A --> STACK["Pilha (LIFO)
(Push/Pop O(1))"]
A --> QUEUE["Fila (FIFO)
(Enqueue/Dequeue O(1))"]
style VEC fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style LIST fill:#ede7f6,stroke:#7e57c2,stroke-width:2px
style STACK fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style QUEUE fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
🏛️ 2. Fundamentação Teórica e Análise de Complexidade
| Estrutura de Dados |
Acesso por Índice |
Busca de Elemento |
Inserção no Início |
Inserção no Fim |
Remoção no Início |
| Vetor Estático (Array) |
$O(1)$ |
$O(n)$ |
$O(n)$ |
$O(1)^*$ |
$O(n)$ |
| Lista Simplesmente Encadeada |
$O(n)$ |
$O(n)$ |
$O(1)$ |
$O(1)$ |
$O(1)$ |
| Lista Duplamente Encadeada |
$O(n)$ |
$O(n)$ |
$O(1)$ |
$O(1)$ |
$O(1)$ |
| Pilha (LIFO - Stack) |
$O(n)$ |
$O(n)$ |
$O(1)$ |
— |
$O(1)$ |
| Fila (FIFO - Queue) |
$O(n)$ |
$O(n)$ |
— |
$O(1)$ |
$O(1)$ |
💻 3. Implementação de Lista Duplamente Encadeada em Python
class Node:
def __init__(self, val):
self.val = val
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
self.tail = None
self.size = 0
def append(self, val):
new_node = Node(val)
if not self.head:
self.head = self.tail = new_node
else:
new_node.prev = self.tail
self.tail.next = new_node
self.tail = new_node
self.size += 1
def to_list(self):
res = []
curr = self.head
while curr:
res.append(curr.val)
curr = curr.next
return res
if __name__ == "__main__":
dll = DoublyLinkedList()
for v in [10, 20, 30, 40]:
dll.append(v)
print(f"Lista Duplamente Encadeada: {dll.to_list()} (Tamanho: {dll.size})")
🔗 Recursos Pedagógicos do Capítulo 05
| Recurso Didático |
Finalidade |
Link de Acesso |
| 📊 Slides de Aula |
Apresentação visual interativa com Dark Mode e suporte a teclado |
Ver Slides |
| 🧠 Quiz Formativo |
Teste interativo de fixação com feedback imediato por alternativa |
Fazer Quiz |
| 💻 Exemplos de Código |
Demonstrações funcionais com código executável |
Ver Exemplos |
| 🧩 Exercícios em 4 Níveis |
Lista progressiva de fixação com gabarito em bloco colapsável |
Resolver Exercícios |