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.