Abstract Data Type (ADT – Soyut Veri Tipleri)
ADT, bilgisayar bilimlerinde bir grup veriyi ve bu veri üzerinde yapılabilecek işlemleri düzenleyen yapının adıdır. Soyutluk kelimes, veri yapısının bir tasarım olması ve kullanıcı için, yapının içinin tamamen soyut olması, kullanan kişilerin bu veri tipinin uygulama detayları ile ilgili bilgisinin olmasını gerektirmemesidir.
Örnek soyut veri tipleri olarak bağlı liste , yığın (stack) , sıra ( queue) , kompleks sayılar , kümeler sayılabilir.
Veri tipinin soyut olması aşağıdaki C/C++ dilindeki stack (yığın) örneği ile açıklanabilir:
Örneğin dilimizdeki tanımlı fonksiyonlar aşağıdaki şekilde olsun. (bu fonksiyonlar aynı zamanda arayüz (interface) fonksiyonlarıdır)
long stack_create(); /* yeni bir stack yap */
void stack_push(long stack, void *item); /* stack'e yeni bir eleman (item) koy */
void *stack_pop(long stack); /* stack'in tepesindne bir eleman al */
void stack_delete(long stack); /* stack'i sil */
Bu fonksiyonlar kullanılarak, iç yapılarından tamamen habersiz bir programcı aşağıdaki şekilde program yazıp bu veri tipini kullanabilir:
long stack;
struct foo *f;
stack = stack_create(); /* yeni bir stack yap */
stack_push(stack, f); /* foo'yapısını stack'e ekle */
f = stack_pop(stack); /* stackin en üstündeki elemanı al */
ADT’nin (abstract data types) daha verimli olabilmesi için özellikle nesne yönelimli programlama dillerinde, her tip nesneyi alabilecek yapıda olması önerilir. Bu sayede çok şekilcilik (polymorphism) sağlanmış olur ve stack içine istenilen tipten veri konulabilir. Diğer bir yöntem ise stack tanımında template kullanmaktır. Bu sayede bütün stack elemanları tek bir tip olacak ancak tip tanımı stack oluşturulurken verilmiş olacaktır.
ADT yapısına uygun olarak kodlanan ve dizi kullanan bir stack uygulaması: stack_arr.rar
« Linked List (Linkli Liste veya Bağlı Liste) | Array (Dizi) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Abstract Data Type (ADT – Soyut Veri Tipleri)' isimli yazı 04 May 2007 tarihinde, saat: 12:02 'de �adi Evren �EKER tarafından gönderilmiş, toplam 1549 defa okunmuştur.
Benzer yazıları Bilgisayar Kavramları, veri yapıları kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
- Evren Kocaturk: ve bunu matlab üzerinde, gerekli...
- Evren Kocaturk: teşekkürler, işime yarayacak gibi,...
- tuncay çavuşoğlu: Şadi bey teşekkürler.Kısa ve...
- attila: hocam bunun bir örneginide Visual Basic diliyle...
Yakın Yazılar
Semafor (Semaphore, Flama, İşaret)
Abstract Data Type (ADT - Soyut Veri Tipleri)
Veri yapıları üzerinde fonksiyonlar
Somut (müşahhas) isim (concrete noun)
Soyut İsim (mücerret, abstract noun)
Bilgi Çıkarımı (Information Extraction)
Veri Tanımlama Dili (Data Definition Language)
Filitreleme Tipi Fonksiyonlar (Filter Type Functions)
Mesaj Özetleri (Message Digests)
Veri Tabanı Yönetim Sistemleri (Database Management Systems, DBMS) Ş
Bağlantılar
[...] açık olan. İlk giren son çıkar LIFO (Last in First Out) mantığı ile çalışan bir ADT örneğidir. Temelde iki veya üç fonksiyonu bulunur bunlar: Push -> Stack içerisine bir bilgi [...]
Hocam gerçekten mantığını çok güzel açıklamışsınnız. Yazılarınızın devamını dilerim.