Hızlı Sıralama Algoritması (Quick Sort Algorithm)

Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki orta noktada (mean) bulunan bir sayıyı seçerek diğer bütün sayıları bu orta sayıdan büyük veya küçük diye sınıflayarak sıralama yapmayı hedeflemektedir. Bu açıdan bir parçala fethet (divide and conquere) yaklaşımıdır. Ayrıca bu seçilen orta […]

Devam

Birleştirme Sıralaması (Merge Sort)

  Birleştirme Sıralaması (Merge Sort) Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan diziyi ikişer elemanı kalan parçalara inene kadar sürekli olarak ikiye böler. Sonra bu parçaları kendi içlerinde sıralayarak birleştirir. Sonuçta elde edilen dizi sıralı dizinin kendisidir. Bu açıdan bir parçala fethet […]

Devam

Yığınlama Sıralaması (Heap Sort)

Yığınlama Sıralaması (Heap Sort) Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Yıpınlama sıralaması, arka planda bir yığın ağacı(heap) oluşturur ve bu ağacın en üstündeki sayıyı alarak sıralama işlemi yapar. (Lütfen yığın ağacındaki en büyük sayının her zaman en üstte duracağını hatırlayınız. ) Sıralanmak istenen verimiz: […]

Devam

Yığın Ağacı (Heap)

Yığın Ağacı (Heap) Yazan : Şadi Evren ŞEKER Yığın ağacı bilgisayar bilimlerinde özellikle sıralama amacıyla çokca kullanılan bir veri yapısıdır. Bu veri yapısı üst düğümün (atasının) alt düğümlerden (çocuklarından) her zaman büyük olduğu bir ikili ağaç (binary tree) şeklinde düşünülebilir. Aşağıda örnek bir yığın ağacı verilmiştir: Yukarıdaki ikili ağaçta dikkat edilirse ağaç dengeli bir şekilde […]

Devam

Sayarak Sıralama (Counting Sort)

  Sayarak Sıralama (Counting Sort) Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki her sayının kaç tane olduğunu farklı bir dizide sayar. Daha sonra bu sayıların bulunduğu dizinin üzerinde bir işlemle sıralanmış olan diziyi elde eder. Sıralanmak istenen verimiz: 5,7,2,9,6,1,3,7 olsun. Bu […]

Devam

Kabarcık Sıralaması (Baloncuk sıralaması, Bubble Sort)

Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe ardışık duran iki hafıza bloğunun birbirine nispetle sıralanması ve bu işlemin sürekli tekrarlanması sayesinde sıralar. Ardışık iki hafıza bloğuna bakmasından dolayı baloncuk ismini almıştır. Çünkü bu bakma işlemi bir baloncuğun (buble) hareket etmesi gibi sayıların üzerinde hareket […]

Devam

Özyineli Fonksiyonlar (Recursive Functions)

Yazan: Şadi Evren ŞEKER Fonksiyonlar tekrarlama yapılarına göre temel olarak iki türlü düşünülebilir. Buna göre bir fonksiyonun içinde yine kendisinden bir parça bulunuyorsa bu fonksiyonlara özyineli (recursive) fonksiyon denilirken, fonksiyonun kendisini tekrar etmemesi durumunda döngülü (iterative) fonksiyon ismi verilir. Teorik olarak bütün döngülü (iterative) fonksiyonlar özyineli (recursive) fonksiyon olarak yazılabilir (tersi de doğrudur). Öreğin 1’den […]

Devam

Dizgi (String)

  Yazan: Şadi Evren ŞEKER Bir dilde bulunan ve o dilin tanımlı olan alfabesi içerisindeki sembollerin çeşitli sayılarda ve çeşitli sırada dizilmesi ile elde edilen yazılardır. Örneğin bir dildeki alfabe aşağıdaki şekilde tanımlı olsun: ∑1 = {0,1} Buna göre dilimizde sadece “0” ve “1” sembolleri tanımlı demektir. Bu dilde örneğin w1=0 veya w2=10101011010 gibi bir […]

Devam

İkili Ağaç (Binary Tree)

Yazan: Şadi Evren ŞEKER Ağaçların özel bir hali olan ikili ağaçlarda her düğümün çocuklarının sayısı azami 2 olabilir. Bir düğümün daha az çocuğu bulunması durumunda ( 0 veya 1) ağacın yapısı bozulmaz. Yapraklar hariç bütün düğümlerin ikişer çocuğu bulunması ve yaprakların aynı derinlikte bulunması durumunda bu ağaca dengeli ağaç (balanced tree) denilir. Aşağıda bir dengeli […]

Devam

XML (extensible markup language , genişletilebilir işaretleme dili)

yazan: Şadi Evren ŞEKER XML dilinin çıkış amacı makinelerin birbiri ile konuşurken kategorize olmuş bir dil (veya prtokol) üzerinden konuşmalarını sağlamaktır. Aslında XML’in çıktığı yıllara bakıldığında verilerin çok çeşitli şekillerde bir standarda uymaksızın saklandığını ve işlendiğini görmek mümkündür. Gelişen İnternet teknolojisinin de etkisiyle birden fazla bilgisayarın (veya programın) birbiri ile bir standart üzerinde anlaşarak konuşmaları […]

Devam