Bu repoda Data Stractures konusu hakkındaki dokümanlarımı paylaşacağım. İlk olarak ele alacağım konu: Ağaçlar.
Ağaç, veri düğümleri ve düğümler arası ilişkileri belirten kenarlardan oluşan; ters bir ağacı andıran veri yapısıdır. Ağaçlar döngü içermeyen çizgeler olarak da tanımlanabilir. Her düğümün sıfır ya da daha fazla alt düğümü ve en fazla bir üst düğümü olabilir. Üst düğümü olmayan düğüme kök, alt düğümü olmayan düğümlere yaprak denir.
Bu ağaçların bir de özelleşmiş bir türü bulunur, İkili Ağaçlar yani Binary Tree'ler. Anlatımın devamında anlamada kolaylık sağlaması açısından Binary Tree olarak devam edeceğim.
Binary Tree, her düğümün en fazla 2 çocuğa sahip olduğu bir ağaç veri yapısı olarak tanımlanır. Binary Tree'deki her öğenin yalnızca 2 çocuğu olabileceğinden, bunları genellikle sol ve sağ çocuk olarak adlandırırız.
Örneğin aşağıdaki ağaç bir Binary Tree'dir.
Devam edecek...