Veri Yapısı (Data Structure)
Verileri bilgisayar belleğinde verimli bir şekilde kullanılabilecek şekilde düzenlemek, işlemek, geri çağırmak ve saklamak için özel bir format.
Web3'te Merkle Ağaçları (Merkle Trees) gibi özel veri yapıları çok önemlidir. Ağdaki düğümlerin, tüm blokzincirini indirmeden bir işlemin blokta olup olmadığını O(log N) sürede doğrulamasına olanak tanır.
graph LR
Center["Veri Yapısı (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;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
100 tane aleti büyük bir çuvala atarsanız, bir tornavidayı bulmanız çok uzun sürer. Ancak onları çekmeceli bir alet çantasına yerleştirirseniz, anında bulabilirsiniz. Veri yapısı, bilgisayarın verileri en hızlı şekilde bulup kullanabilmesi için bellekteki bu 'alet çantasıdır'.
🤓 Expert Deep Dive
Soyut Veri Tipleri (ADT) ve Veri Yapıları: ADT, hangi işlemlerin yapılabileceğini tanımlayan matematiksel bir modeldir (örn. Yığın). Veri yapısı ise bunun bellekte nasıl uygulandığıdır. Diziler bitişik bellek kullanarak O(1) erişim süresi sağlarken, bağlı listeler pointer'lar kullanır ve rastgele erişimde O(N) süresine düşer.
❓ Sık sorulan sorular
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.