Bilgi Akışı

Basit Veri Yapıları

Herkese merhabalar, bu yazımda bilgisayar bilimlerinde sıkça kullanılan veri yapısı modellerini bahsedeceğim.

Birazdan anlatacağım modellerin önce nelerde kullanıldığından örnekler vererek açıklayayım. Bilgisayar bilimlerinde tüm veriler belirli bir organizasyona ihtiyaç duyar. Ürettiğimiz yazılımlara düşen kullanıcıların verileri belirli bir düzen içerisinde işleriz. Örnek vermek gerekirse, hastane otomasyon sisteminde yer alan rendavu sistemi sayesinde hastaları sıra ile muayene yapılmaktadır(kuyruk veri yapısı) bunun yanında yaşlılara öncelik özelliği eklediğimizde farklı bir veri yapısı(öncelikli kuyruk) kullanmalıyız. Bu gibi günlük sorunların üstesinde gelmek için çeşitli algoritmalara veri yapısı demişler aslında olay bu kadar basit.

Veri Tutuluş Şekli

Temelde bellekte(ram) 2 tür veri tutuluş şekli vardır.Statik ve Dinamik. Statik bildiğimiz dizilerdir. Bellekte belirli bir yer işgal edip çok hızlı çalışan veri yapıları. Bir diğer şekil ise dinamik yani biz veri girdiğimizde büyüyen veri yapısı. Buna en güzel örnek bağlı listedir. Bağlı listeyi anlayabilmek için öncelikle nesne yönelimli programlamada referans kavramını, fonksiyonel programlama dillerinde de kullanılan pointer yapısının bilinmesi gereklidir. Şöyle açıklamak gerekirse java da tutmak istediğimiz değeri veya değerleri bir sınıf içerisinde tanımlıyoruz. Şimdilik sadece bir sayı tutacağımızı varsayalım.

Java

class deneme {
int sayi;
deneme ileri;
}

 C
struct deneme {
int sayi;
deneme *ileri;
};

Sınıfımızın ismi deneme bu sınıfın içerinde bir tane int türünden sayi değişkeni bir tane de deneme türünden ileri adında referansı bulunmaktadır.  Aşağıda ki görselde de görüldüğü üzere kutular sayi değişkenini oklar ise ileri referansını işaretini temsil etmektedir. Bu sayede her deneme sınıfını new yaptığımızda listeye yeni bir eleman eklemiş olacağız.

JavaScript'te Veri Yapıları ve Algoritmalar (Tek Bağlantılı Liste ...

Stack(Yığın)

İlk giren son çıkar mantığı ile çalışır. Masanın üzerinde ki kitapları üst üste dizdiğimizde alt taraflarda ki kitabı almak istediğimiz de üstekini çıkarmak zorunda kaldığımız gibi.

Yığınlar ve Kuyruklar, Basitleştirilmiş.  Türkiye'de yığınların ve kuyrukların dökümü ...

Queue(Kuyruk)

İlk giren ilk çıkar mantığı ile çalışır. Kuyrukta sırada bekleyen müşteriler örnek verilebilir.

Swift'te Hızlı Kuyruklar.  Kuyruk veri yapısı nedir?  |  tarafından Ryan ...

Ağaçlar

Verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyerarşik yapıya sahip veri yapısıdır. Yukarıda bahsedilen bağlı listeye bir tane daha referans ekleyerek binary tree elde edilebilir. Görünümü ters ağaç şeklidir. Günlük hayatta kullandığımız soy ağacının bellekte kullanımı olarak hayal edebiliriz6-3

Yığın

İkili ağaç yapısına görünüş itibari ile benzemekle birlikte yaptıkları iş farklıdır. Eklenen her veriyi ağaçta ki en son sıraya ekler, bunu yaparken de her zaman parent nodenin kendisinden büyük olmasına dikkat eder. Eğer eklenen değer üst node’den büyük ise heapify algoritması çalıştırılarak heap düzenli hale getirilir.

Yığın Veri Yapısı · e-bergi

grafik

Yaşadığımız dünyayı bilgisayara anlatmak için kullandığımız en sık veri yapısıdır. Graph’ta bulunan düğümler varlıklar ve varlıklar arasında ki ilişkiyi tanımlayan kenarlar tanımlanır. Sosyal medyada, karar yapılarında, en kısa yol problemlerinde sıkça kullanılırlar.

Grafik veri yapısı - Arama için Uygulamalı Yapay Zeka

Bu konular bilgisayar bilimlerinin temelini oluşturduğundan öğrenilmesi bir çok kişi tarafından tavsiye edilmiştir. Biz YBS’ciler olarak hem algoritma yeteneğimizi geliştirmek hemde bilgisayar bilimlerine giriş yapmak için bunları hem teorik olarak öğrenmeli hem de herhangi bir programlama dilinde kodlayarak hayata geçirmeliyiz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Makaleler

Başa dön tuşu