Ana içeriğe atla

Temel Veri Yapıları

Veri yapısı , bilginin saklanmış biçimidir.Programın daha verimli çalışmasının sağlanması açısından programcının veri yapılarını bilmesi gerekir.Programların hızı dikkate alındığında farklı tipte veri yapıları kullanılırsa daha verimli kodlar yazılabilir.Temel veri yapılarımız: dizi , yığın , kuyruk ve listedir.
Diziler 
Aynı türden verilerin tutulduğu gruplardır.Bir indis yardımıyla bulundukları konum ifade edilir.İndis her zaman 0 dan başlar ve n'e kadar devam eder.Dizilerde kullanılabilecek veri türleri Char , İnt , Float , Double sırasıyla 1,2 ,4 ve 8 bytelık alan tutarlar.
Yığınlar
Günümüzde en çok kullanılan veri yapısı yığınlardır.Son giren ilk çıkar veya LIFO(last in ,first out) kuralıyla çalışırlar.Bu veri yapısını üst üste koyulan bozuk paralar gibi düşünebiliriz.En üstte olan (en son koyduğumuz) parayi ilk olarak almak zorundayız.Ayrıca yığınlar derine arama yapan özyinelemeli algoritmalarda kullanılmaktadır.
Kuyruk
Bu veri yapısı ilk giren ilk çıkar veya FIFO(first in,first out) prensibiyle çalışır.Dolayısıyla işlenecek olan veri en başta yer alır.Ancak bu veri yapısında eleman silme veye kaydırma işlemi çok zahmetlidir.Bunun daha alternatif olanı iste ağaç yapısıdır.
Ağaçlar
Döngü içermemek kaydıyla düğüm ,dal ve yapraklardan oluşan yapıya ağaç veri yapısı denir.Ağaç veri yapılarının kendilerine özgü terimleri bulunur.Derinlik ,bir ağaç içerisindeki herhangi bir düğümün maksimum seviyesidir.Derece, düğümün alt düğümlerinde bulunan en çok eleman sayısıdır.Daha bir çok özellikleri bulunmaktadır ancak ben ağaçları başka bir başlık altında çok daha geniş olarak yazacağım.Şimdilik bu kadarı bizim içi yeterli diye düşünüyorum.

Yorumlar

Bu blogdaki popüler yayınlar

Polindrom Sayılar

Birbirini takip eden sağdan sola yada soldan sağa okunuşları değişmeyen sayılar yada karakterlere polindrom sayılar(karakterler) denir. C'de bir polindrom sayı üretme programı yazarsak eğer kodlarımız şu şekilde olacaktır. #include<stdio.h> #include<conio.h> void pol_al(int n) { if (n == 1) printf("1"); else { pol_al(n - 1); printf("%d", n); pol_al(n - 1); } } int main() { int n = 0; printf("Sayi:"); scanf_s("%d", &n); pol_al(n); getchar(); getchar (); return 0; }

What is Gui and Swing ?

Temel olarak gui ve swing Javada birer kütüphanedir ve birbirleriyle aynı şey oldukları söylenebilir.Desktop programlama da denilebileceği gibi core Java çalışanların kolayca öğrenebileceği ve artık görüntüde birşeyler istiyorum diyecekleri bölümdür.Bu kütüphaneleri öğrenerek bir çok çok şey yapılabilir.Pencere oluşturulur ve butonlar,tablolar kullanılarak database ile bağlanabilir ya da internet sitelerine query gönderilip request alınabilir.Kısacası tasarım ve görüntüye dair bir çok şey yapılabilir.Bunları yapmak için internette araştırma yaptığınızda karşınıza bu kütüphanelere has bir çok metod ve yeni tanımlar ile karşılaşacaksınız.Bunlar direk kodlar üzerinde yazılmış olarak bulacaksınız.Ancak büyük projelerde hiçbir zaman bu kodları tek tek elle yazmıyoruz.Bunun için netbeans'da yüklü olarak gelen JFrame class oluşturarak ve design kısmından çek bırak şeklinde tasarım yaparız.Netbeans bizim için tanımlamaları ve koordinatları otomatik olarak kod şeklinde ekleyecektir.Eclipse