Özet Veri Türü: ADT, herhangi bir özel uygulamadan bağımsız olarak tam olarak belirtilen bir dizi veri değeri ve ilgili işlemler olarak tanımlanabilir. Dolayısıyla, Soyut Veri Türü, organize bir bilgi toplama ve bu bilgiyi yönetmek için kullanılan bir dizi işlemdir. İşlem kümesi ADT'nin arayüzünü tanımlar. ADT, arayüzün koşullarını yerine getirdiği sürece, ADT'nin nasıl uygulandığı önemli değildir. ADT'de, veri değerleri ve işlemleri bir bilgisayar dilinde bir uygulama yerine matematiksel bir hassasiyetle tanımlandığından, işlemlerin etkileri, bir programın veri türünü uygulayıp uygulamaması gibi diğer soyut veri tipleriyle ilişkileri hakkında düşünebiliriz.
Soyut veri tipi (ADT) ile somut veri tipi arasındaki temel fark, ikincisinin somut gösterime bakmamıza izin vermesidir; Bir ADT saf ADT veya Güncellenebilir ADT olabilir. Saf bir ADT, tüm işlemlerin saf işlevler olduğu bir işlemdir. Bu, işlemlerin hiçbir yan etkisi olmadığı anlamına gelir. Özellikle, orada girdi argümanlarını değiştirmez veya güncellemezler. Yalnızca bu argümanları, ADT'nin (veya diğer türlerin) yeni değerleri olan çıktı üretmek için kullanırlar. Çoğu beton türü saftır. Örneğin, tamsayılar üzerinde işlem yapılmaması bir tamsayıyı değiştirmez. Bunun yerine, '+' gibi tüm işlemler yeni çıktılar üretir.
Güncellenebilir bir ADT, bazı işlemlerin ADT'nin değerlerini gerçekten değiştirdiği işlemdir. Örneğin, bir yığını argüman olarak alan ve değiştiren 'pop' adında bir işlem yaptığımızı varsayalım. (“Yerinde”, “yıkıcı”) en yüksek öncelikli maddeyi kaldırarak. Bu işlem saf değildir ve ADT'nin tamamı da saf olmazdı. Bir ADT kullanıcı tanımlı ADT olabilir.
Soyut Veri Türünün aşağıdaki iki koşulu karşılayan bir veri türü olduğunu biliyoruz:
Tip ve işlemlerin temsili veya tanımı tek bir sözdizimsel birimde bulunur.
Türün nesnelerinin temsili, türü kullanan program birimlerinden gizlenir, bu nedenle yalnızca bu nesneler üzerinde doğrudan işlem yapılması, türün tanımında sağlananlardır.
Kullanıcı tarafından tanımlanan Özet Veri Türü şunları sağlamalıdır:
Program birimlerinin türün değişkenlerini bildirmesine izin veren, ancak bu değişkenlerin gösterimini gizleyen bir tür tanımı.
Türdeki nesneleri işlemek için yapılan işlemler kümesi.
Kullanıcı tanımlı bir soyut veri tipine örnek yapıdır. 'C' dört temel tür sağlar: int, char, float ve double. Bununla birlikte, 'C' programcıya kendi türlerini tanımlayabilme yeteneği de sunar. Yapı böyle bir örnektir. Yapı, her bir parçanın varolan bir türden olduğu farklı parçaların toplamıdır.
struct abc
{int x;
float y;
};
Yukarıdaki yapı tanımı herhangi bir değişken oluşturmaz, aksine yeni bir tür oluşturur. Bu tür değişkenler, yerleşik bir tür değişkenlere benzer şekilde oluşturulabilir.
struct abc a;
Typedef anahtar sözcüğü, yeni türlerimiz için yeni tür adları oluşturmamızı sağlar.
Örneğin:
typedef struct abc AB;
AB, şimdi yeni türler oluşturmak için kullanılabilecek yeni bir tür adıdır.
AB b;
Veri Yapıları: Veri yapılarının karakteristik özellikleri aşağıdadır:
Atom veya başka bir veri yapısı (hala bir etki alanı) olabilen bileşen veri öğelerini içerir.
Bir veya daha fazla bileşen öğesinde işlem kümesi.
Bileşenlerin birbirleriyle ve yapı ile bir bütün olarak nasıl ilişkili olduğuna dair kuralları tanımlar (iddialar).
Veri Yapıları:
Bir veri yapısı statik veya dinamik olabilir. Statik veri yapısının sabit bir boyutu vardır. Bu anlam statik değiştiricinin anlamından farklıdır. Diziler statiktir; Sahip olabileceği element sayısını tanımladığımızda, sayı değişmez. Dinamik bir veri yapısı yürütme zamanında içeriğinin gerektirdiği şekilde büyür ve küçülür. Bağlantılar kullanılarak dinamik bir veri yapısı uygulanır.
Veri yapıları ayrıca doğrusal veri yapıları ve doğrusal olmayan veri yapıları olarak kategorize edilebilir. Doğrusal veri yapılarında, ilk ve son elemanlar hariç, her bir bileşenin benzersiz bir öncül ve halefi vardır; bu tür türleri temsil eder.