Estrutura de Dados (Data Structure)
Um formato especializado para organizar, processar, recuperar e armazenar dados na memória de um computador.
Na Web3, Árvores de Merkle são estruturas essenciais. Elas permitem que nós verifiquem a inclusão de transações em tempo O(log N) sem baixar toda a blockchain.
graph LR
Center["Estrutura de Dados (Data Structure)"]:::main
Rel_tree["tree"]:::related -.-> Center
click Rel_tree "/terms/tree"
Rel_data_type["data-type"]:::related -.-> Center
click Rel_data_type "/terms/data-type"
Rel_merkle_patricia_trie["merkle-patricia-trie"]:::related -.-> Center
click Rel_merkle_patricia_trie "/terms/merkle-patricia-trie"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Teste de conhecimento
🧒 Explique como se eu tivesse 5 anos
Se você jogar 100 ferramentas num saco, vai demorar muito para achar uma chave de fenda. Se organizá-las numa caixa de ferramentas com gavetas, acha na hora. Uma estrutura de dados é essa 'caixa' na memória do computador.
🤓 Expert Deep Dive
Abstract Data Types (ADT) vs Estruturas: ADT é a definição matemática (ex: Fila = FIFO). A estrutura é a implementação no hardware. Arrays usam memória contígua (acesso O(1)). Listas ligadas usam ponteiros (inserção O(1), mas acesso lento devido à falta de localidade de cache).
❓ Perguntas frequentes
Why are there so many different data structures?
Because different tasks require different optimizations. If you need to search data quickly, you might use a Hash Table. If you need to keep data in a sorted hierarchy, you use a Tree. There is no single 'best' structure for everything.
What is the difference between an Array and a Linked List?
An array stores items next to each other in memory, making it very fast to jump to a specific item. A linked list stores items wherever there is free space, and each item points to the next one, making it fast to add or remove items without shifting everything else.
What is a Merkle Tree in crypto?
A Merkle Tree is a cryptographic data structure used in blockchains. It allows computers to quickly verify that a specific transaction exists in a block without having to download all the data in the block.