StudyFi Lab · Informática

Estruturas de dados

Estruturas de dados é uma simulação interativa gratuita do StudyFi Lab. Funciona direto no navegador, sem cadastro e sem instalar nada.

Pilhas, filas, listas, árvores e grafos

Experimentos

Pilha

Uma pilha funciona como uma pilha de pratos: você só adiciona (push) e remove (pop) no topo, então o último a entrar é o primeiro a sair (LIFO). O ponteiro top marca o topo; push e pop custam O(1). O Desfazer de um editor, o botão Voltar do navegador e as chamadas de função (a pilha de chamadas) usam uma.

Experimente: Faça push de 1, 2, 3 e depois três pop: os números saem na ordem inversa. Depois tente um nono push.

Fila

Uma fila funciona como a fila de um caixa: os novos itens entram no fim (enqueue, ponteiro rear) e saem pela frente (dequeue, ponteiro front), então o primeiro a entrar é o primeiro a sair (FIFO). Num array ela é guardada como buffer circular: os dois ponteiros voltam da última posição para a posição 0, por isso enqueue e dequeue custam O(1). Filas controlam impressoras, requisições a servidores e o buffer de vídeo.

Experimente: Ative a vista circular, enfileire seis números, remova quatro e enfileire mais quatro: veja rear saltar da posição 7 para a 0.

Lista ligada

Cada nó guarda um valor e um link next para o próximo nó; o último aponta para null e a lista começa no ponteiro head. Inserir no início custa O(1), mas chegar à posição i ou a um valor procurado exige percorrer nó a nó: O(n). Ao contrário de um array, nada é deslocado, só se religam os ponteiros; assim funcionam playlists, históricos e listas de memória livre.

Experimente: Procure o último valor e conte os passos do ponteiro; depois insira no início: é sempre um único passo.

Árvore binária de busca

Em cada nó, os valores menores ficam à esquerda e os maiores à direita. Por isso buscar e inserir seguem um único caminho a partir da raiz e custam O(h), onde h é a altura da árvore; numa árvore balanceada h ≈ log₂ n. Remover tem três casos: uma folha simplesmente some, um nó com um filho é substituído por esse filho e um nó com dois filhos recebe o valor do seu sucessor em ordem. O percurso em ordem lista os valores ordenados; árvores parecidas sustentam os índices de bancos de dados.

Experimente: Remova a raiz: ela tem dois filhos, então você verá a busca do sucessor. Depois tente “Inserir valores ordenados”: a árvore degenera numa lista e a altura cresce até n.

Grafo: BFS vs. DFS

A busca em largura (BFS) tira os nós de uma fila: visita primeiro todos os vizinhos do início, depois os vizinhos deles, camada por camada, e assim acha o caminho mais curto em número de arestas. A busca em profundidade (DFS) tira os nós de uma pilha e vai o mais fundo possível antes de voltar. Ambas visitam cada nó e aresta uma vez: O(V + E). BFS está em apps de rotas e em “amigos de amigos”; DFS resolve labirintos e encontra ciclos.

Experimente: Avance passo a passo a partir do nó 0 e compare a fila com a pilha. Depois mude o início para o nó 7: a ordem de visita muda por completo.

Perguntas frequentes

O que é Estruturas de dados?

Estruturas de dados é uma simulação interativa gratuita do StudyFi Lab. Funciona direto no navegador, sem cadastro e sem instalar nada. Pilhas, filas, listas, árvores e grafos

Estruturas de dados é gratuito?

Sim. Estruturas de dados é totalmente gratuito. Funciona no navegador do computador, tablet ou celular, e você não precisa de conta.

O que posso explorar em Estruturas de dados?

Pilha, Fila, Lista ligada, Árvore binária de busca, Grafo: BFS vs. DFS.

O que mostra o experimento “Pilha”?

Uma pilha funciona como uma pilha de pratos: você só adiciona (push) e remove (pop) no topo, então o último a entrar é o primeiro a sair (LIFO). O ponteiro top marca o topo; push e pop custam O(1). O Desfazer de um editor, o botão Voltar do navegador e as chamadas de função (a pilha de chamadas) usam uma.

O que mostra o experimento “Fila”?

Uma fila funciona como a fila de um caixa: os novos itens entram no fim (enqueue, ponteiro rear) e saem pela frente (dequeue, ponteiro front), então o primeiro a entrar é o primeiro a sair (FIFO). Num array ela é guardada como buffer circular: os dois ponteiros voltam da última posição para a posição 0, por isso enqueue e dequeue custam O(1). Filas controlam impressoras, requisições a servidores e o buffer de vídeo.

Estudando para uma prova?

Envie suas anotações e o StudyFi as transforma em flashcards, testes e podcasts.

Experimente o StudyFi grátis