Dinamik dizi: Revizyonlar arasındaki fark

[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Sinekvale (mesaj | katkılar)
kDeğişiklik özeti yok
Sinekvale (mesaj | katkılar)
kDeğişiklik özeti yok
4. satır:
 
==Diziler ve Sabit Boyutun Dezavantajları==
 
İdeal veriyapılarının ortak özelliği değiştirilebilir ve esnek olmasıdır. İyi bir kullanıcının kullanacağı veriyapısı da bu özellikleri sağlamalıdır. Progralamanın temel veriyapısı olan diziler sabit boyutlu olmaları nedeniyle bu yeterliliğe erişememektedirler. 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 sabit boyutlu diziler 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==
Bir kod dizisinde bazen sabit boyuttaki bir dizi yeterli olabilse de kimi zaman dizi içerisinde tutulması gereken verinin sayısı önceden saptanamaz. Ve, dizi önceden belirlenmiş olan sabit boyuta ulaştığında yeni bir eleman eklenmek istenirse hata verecektir.
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.
Bu noktada birçok çözüm yolu mevcuttur. Bunlardan biri ulaşılması imkansız bir boyutta dizi tanımlanmasıdır. Fakat bu çözüm yolu programı hantallaştıracak, programın çalışma sırasında ihtiyaç duyduğu hafıza miktarının artmasına neden olacaktır. Şu da göz önünde tutulmalıdır ki n boyutlu bir diziye çoğu zaman n+1. elemana ihtiyaç duyma ihtimali vardır. İşte bu noktada, dinamik dizi kullanımı kullanıcıyı büyük bir yükten kurtaracaktır. Çünkü; her yeni gelen eleman, dizi belli bir boyuta ulaşmış olsa bile dizi içerisine eklenebilecektir. Kullanılan dil tarafından desteklenlendiği durumlarda programcıyı büyük bir yükten kurtarmaktadır, dinamik diziyi desteklemeyen birçok dilde de dinamik dizi simüle edilebilir.
"https://tr.wikipedia.org/wiki/Dinamik_dizi" sayfasından alınmıştır