Dinamik dizi: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Levent (mesaj | katkılar)
k Kategorisiz madde.
Sinekvale (mesaj | katkılar)
kDeğişiklik özeti yok
13. satır: 13. satır:
==Dinamik Diziler Nasıl Çalışır==
==Dinamik Diziler Nasıl Çalışır==
Dinamik dizilerdeki ekleme ve silme işlemlerinin temel mantığı dizilerdeki gibidir. Aradaki farklılık sabit boyutlu bir dizinin kapasitesi dolduğunda yeni veri ekleme işleminin hata ile sonuçlanması, dinamik dizilerde ise aynı işlemin boyut değişimi sayesinde başarılı olmasıdır.
Dinamik dizilerdeki ekleme ve silme işlemlerinin temel mantığı dizilerdeki gibidir. Aradaki farklılık sabit boyutlu bir dizinin kapasitesi dolduğunda yeni veri ekleme işleminin hata ile sonuçlanması, dinamik dizilerde ise aynı işlemin boyut değişimi sayesinde başarılı olmasıdır.

En basit dinamik dizi yapısında arka planda çalışan iki dizi kullanılmaktadır. Bunlardan ilki veriyi tutmaktadır, ikincisi ise tmpon bölge olarak görev yapmaktadır. Birinci bölge oluşturulduğunda dizi yeni oluşturulan daha büyük boyutlu bir diziye kopyalanarak ilk dizi silinmektedir.

Sayfanın 21.44, 25 Şubat 2009 tarihindeki hâli

Dinamik Dizi boyutu sabit olmayan, değişebilen dizi. Dinamik diziye elemanlar eklenebilir, diziden elemanlar silinebilir; dizinin boyutu azaltılabilir ve arttırılabilir. Bazı programlama dillerinde vektör adıyla anılan bu yapıyı birçok modern programlama dili kendi kütüphaneleriyle sunmaktadır.

Diziler ve Sabit Boyutun Dezavantajları

İdeal veri yapılarının ortak özelliği değiştirilebilir ve esnek olmasıdır. İyi bir kullanıcının kullanacağı veri yapısı da bu özellikleri sağlamalıdır. Programlamanın temel veriyapısı olan diziler sabit boyutlu olmaları nedeniyle bu yeterliliğe erişememektedir. Bu sebeple programlama dillerinin gelişmesiyle paralel olarak farklı özelliklere ve esnekliklere sahip veriyapıları ortaya sunulmuş, kullanılmıştır.

Bazı kod dizilerinde sabit boyutlu bir dizi ihtiyacı karşılasa da bazı durumlarda yetersiz kalmaktadır. Kullanılacak veri sayısının belirsiz olması ya da önceden saptanamaması bu noktadaki temel problemdir. Bu probleme çözüm olarak klasik fakat verimsiz bir çözüm yolu sunulmaktadır. Bu çözüm yolu, ihtiyaç duyulandan daha fazla ya da anormal büyük boyutta bir dizi tanımlamaktır. Kimi zaman çözüm yolu olarak seçilen bu yöntem dizilerin yetersiz olması durumunu değiştirmemektedir. Çünkü, sabit boyuttaki bir dizinin bu boyutuna sığmayacak sayıda veri içermesi gerekliliği hiçbir zaman önceden saptanamaz. Diğer bir taraftan da bu çözüm yolu kod dizisinin çalışmak için ihtiyaç duyacağı hafıza miktarını arttıracaktır. Bu da kod dizisini hantallaştırmakla beraber çalışabilirliğini de düşürmektedir.

Dinamik Diziler Nasıl Çalışır

Dinamik dizilerdeki ekleme ve silme işlemlerinin temel mantığı dizilerdeki gibidir. Aradaki farklılık sabit boyutlu bir dizinin kapasitesi dolduğunda yeni veri ekleme işleminin hata ile sonuçlanması, dinamik dizilerde ise aynı işlemin boyut değişimi sayesinde başarılı olmasıdır.

En basit dinamik dizi yapısında arka planda çalışan iki dizi kullanılmaktadır. Bunlardan ilki veriyi tutmaktadır, ikincisi ise tmpon bölge olarak görev yapmaktadır. Birinci bölge oluşturulduğunda dizi yeni oluşturulan daha büyük boyutlu bir diziye kopyalanarak ilk dizi silinmektedir.