AÖF Soru Bankası

AlgoritmalarÜnite 2 Soru-Cevap

Algoritmalar (BIL204U) soru-cevapları.

Veri nedir?

Olgu, kavram veya komutların, iletişim, yorum ve işlem için elverişli biçimli gösterimidir.

Veri yapılarının amacı nedir?

Veri yapılarının amacı bilgisayar sistemi ile programcının zihni arasında bir köprü kurmaktır. Böylece programcı ve bilgisayar sistemi kolayca anlaşabilmektedir.

Veri yapıları üzerinde sıklıkla gerçekleştirilen işlemler nelerdir?

Veri yapıları üzerinde sıklıkla gerçekleştirilen işlemler gezinme, arama, ekleme, silme, sıralama ve birleştirmedir.

Gezinme nedir?

Gezinme (traversing) veri yapısı üzerindeki nesnelerin çıktı olarak üretilmesidir.

Veri yapıları nasıl sınıflandırılır?

Veri yapıları sınıflamalarından en çok tercih edilenlerden biri basit ve karmaşık (türetilmiş) veri yapılarıdır.

Veri türleri nelerdir?

Veri türleri mantıksal (boolean), sayısal (float ve integer), karakter (char) ve adres göstergesi (pointer) olarak sınıflandırılabilir.

Karmaşık veri yapılarını açıklayınız?

Karmaşık veri yapıları ise basit veri yapılarını kullanarak farklı amaçlarla türetilen ve birden fazla veriyi tutabilen veri yapılarıdır. Karmaşık veri yapıları, veriler arası ilişkilerin kurulma biçimlerine göre doğrusal ve doğrusal olmayan veri yapılarına ayrılır.

Doğrusal ve doğrusal olmayan veri yapıları arasındaki farklılıklar nelerdir?

Doğrusal veri yapılarında veriler arasında bir ardışıklık söz konusudur. Bir element kendinden önceki ve sonraki elementle bağlantılıdır. Doğrusal olmayan veri yapılarında ise elementler arası bağlantılar asimetriktir. Ayrıca bağlantı sayıları farklılaşabilmektedir. Doğrusal veri yapılarında bir element kendinden önceki ve kendinden sonraki elementler arasındadır. Bu element, yalnızca çevresindeki iki elementle bağlantılıdır. Doğrusal olmayan veri yapılarında ise elementler arası bağlantı sayısı birden fazladır. Doğrusal olmayan veri yapılarında elementler rastgele yerleştirilmiştir.

Doğrusal ve doğrusal olmayan veri yapılarını örneklendiriniz?

Diziler (array), yığınlar (stack), kuyruklar (queue) ve bağlı listeler (linked list) doğrusal veri yapılarıdır. Ağaçlar (tree) ve çizgeler (graph) doğrusal olmayan veri yapılarıdır.

Basit ve karmaşık veri türleri arasındaki farklılıklar nelerdir?

Basit veri türleri yalnızca bir türde ve bir adet veri saklayabilir (ör.: float). Buna karşın karmaşık veri türlerinde birden fazla türde karmaşık ya da basit veri saklanabilir. Örneğin, bir dizide integer tipinde yüzlerce veri saklanabilir. Basit veri türlerinde tanımlanan değişkenlerin kapladıkları bellek alanı sabittir. Bu nedenle de integer gibi tipteki değişkenlerde saklanabilecek en büyük ve en küçük değerlerden söz edilir. Buna karşın karmaşık veri türlerinde saklanan veri sayısı artabileceğinden sabit bir bellek alanından bahsedilemez.

Basit veri türleri nelerdir?

integer, float, boolean gibi veri türleri basit veri türleridir.

Boolean veri türünü açıklayınız?

Boolean veri türü mantıksal doğru (true) ve yanlış (false) değerlerini tutmak için kullanılır. A değeri B değerine eşit midir gibi sorgulamaları yapan mantıksal ifadelerin sonucu boolean türündedir.

Karakter veri türünü açıklayınız?

Karakter veri türü tek bir alfa numerik karakterin tutulması için kullanılır. Karakter veri türünde büyük ya da küçük harfler, rakamlar ve özel işaretler tutulabilir. Tutulabilecek değerler arasında a, A ya da 9 sayılabilir. Fakat 12 değeri iki karakter içerdiğinden tutulamaz. Karakter veri türünde saklanabilecek karakter sayısı kullanılan bit sayısı ile orantılıdır.

Gösterge veri türü nedir?

Gösterge veri türü, bellekte tutulan başka bir değişkenin fiziksel adresini saklamak amacıyla kullanılır. Bu bellek adresinde tutulan değere ulaşma işlemine göstergeyi çözümleme (dereferencing) adı verilir. Kodlarda gösterge kullanımı metinleri gezinme, başvuru çizelgeleri (lookup table), kontrol tabloları ve ağaç yapıları üzerindeki döngüsel işlemlerin performansını arttırır.

Başvuru çizelgesi nedir?

Başvuru çizelgesi (lookup table), bir uygulama çalışırken yüksek işlem gücü gerektiren hesaplamaların (ör.: trigonometrik fonksiyonların sonuçları) girdilerini ve çıktılarını içeren dizi biçimindeki bir veri yapısıdır.

Dizi nedir?

Dizi bitişik bellek alanlarına yerleştirilmiş aynı tipteki verilerin saklandığı veri yapısıdır. Dizilerde float, int, boolean gibi basit veri türlerinde değerler saklanabilmektedir.

Element nedir?

Dizilerde saklanan değerlere element adı verilir.

Bağlı listeler nedir?

Bağlı listeler, birbirine bağlı düğüm serilerinden oluşan doğrusal veri yapılarıdır.

Yığın nedir?

Yığınlar Son Giren İlk Çıkar (LIFO – Last In First Out) prensibinde çalışan doğrusal veri yapılarıdır.

Özyineleme nedir?

Özyineleme (recursion) bir fonksiyonun kendi kendisini çağırmasıdır.

Kuyruk nedir?

Kuyruklar bir uçlarından ekleme, diğer uçlarından silme işlemleri yapılabilen doğrusal veri yapılarıdır.

Ağaç veri yapısını açıklayınız?

Ağaç (tree) veri yapısı hiyerarşik verilerin tutulması için kullanılır. Ağaç veri yapıları düğüm adı verilen varlıkların ya da nesnelerin bir koleksiyonudur. Bu düğümler bir hiyerarşi içinde sunulur. Ağaç veri yapılarında düğümler sıralı değil, hiyerarşik bir şekilde sunulur. Bu nedenle ağaçlarda katmanlardan bahsedilir. Her bir düğüm verinin yanında kendisinin çocukları olan düğümlere bağlantılar içerir.

Kök nedir?

Kök (root) ağaç yapısının en üstündeki düğüme kök düğüm denir. Her ağaç yapısında tek bir kök düğümü ve kök düğümünden diğer düğümlere tek bir yol bulunur.

Katman nedir?

Katman (level) kök düğümden başlayarak aşağı doğru açılan düğüm düzeyleridir.

Çizgeler nedir?

Çizgeler, düğümler (vertice) ve bu düğümleri birleştiren kenarlardan (edge) oluşan veri yapılarıdır. Çizgeler, düğümler arasında hiyerarşik ilişkilerin bulunmadığı çevrimsel ağaçlar şeklinde düşünülebilir.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında