Son Yazılar

Veri Yapıları

Hunt Macllory Algoritması

Yazan : Şadi Evren ŞEKER Hunt-Mcilroy algoritması, en uzun ortak küme (longest common subsequence) problemini çözmek için geliştirilen bir algoritmadır. Algoritmanın en önemli özelliği, linux ve unix türevi işletim sistemlerinde kullanılan diff komutuna temel oluşturmasıdır. Algoritma sezgisel olmayan (non-heuristic) özelliktedir….

İşletim Sistemleri Veri Yapıları

diff komutu

Yazan : Şadi Evren ŞEKER Bu yazının amacı, bir UNIX komutu olan diff komutunu açıklamaktır. diff komutu, iki dosyanın araısndaki farklılıkları (ve dolayısıyla benzerlikleri) bularak ekranda göstermeye yarar. Algoritma basitçe en uzun ortak kısmı (longest common subsequence) bulmaya dayanır. Algoritmanın…

Algoritma Analizi (Teory of Algorithms) Veri Yapıları

Smith Waterman Dizgi Yaslama (String Alignment) Algoritması

Yazan : Şadi Evren ŞEKER Bu yazının amacı, Smith Waterman algoritmasını açıklamaktır. Algoritma, dizgi yaslama (string alignment) işlemlerinde kullanılmaktadır. Dizgi yaslama işlemi (string alignment), basitçe iki dizgiyi alıp bu iki dizgideki ortak alanları bulmayı amaçlar. Bu tip algoritmalar, özellikle gelişen…

Veri Yapıları

Needleman Wunsch Algoritması

Yazan : Şadi Evren ŞEKER Bu yazının amacı, bir dizgi (string) işleme algoritması olan Needleman-Wunsch algoritmasını açıklamaktır. Algoritma, basitçe iki dizgi (string) arasındaki yaslama durumunu bulmayı amaçlar. Buna göre iki dizgiden oluşturulan bir ölçüm değeri ile (metric) dizgiler karşılaştırılır ve…

Network (Ağ)

Sıcak Patates Algoritması (Hot Potato Routing Algorithm)

Yazan :Şadi Evren ŞEKER Bu yazının amacı, sıcak patates (hot potato) ve soğuk patates (cold potato) yönlendirme algoritmalarını (routing algorithms) açıklamaktır. Basitçe konuyu açıklayacak olursak, yönlendirme algoritmaları (routing algorithms) internet paketlerinin yönlendiriciler (routers) arasında gönderilmesi temeline dayanır. Sıcak patates algoritması…

Algoritma Analizi (Teory of Algorithms) C / C++ Veri Yapıları

Permütasyon Sıralaması (Permutation Sort)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, permütasyon sıralaması (permutation sort) olarak bilinen sıralama algoritmasını (sorting algorithm) açıklamaktır. Algoritma asılnda oldukça basit bir yapıya sahiptir. Basitçe bir sayı dizisinin bütün permütasyonları sırasıyla denenir ve bunlardan birisinin sıralı olarak bulunması…

Derleyiciler

Earley Parçalama Algoritması (Earley Parsing Algorithm)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar bilimlerinde özellikle derleyici tasarımı (compiler design) konusu altında geçen Earley Parçalama Algoritmasını (Earley Parsing Algorithm) açıklamaktır. Bu algoritmanın amacı, verilen bir gramer ile verilen bir girdiyi parçalayarak varsa bu girdideki hatayı…

Algoritmalar & Veri Yapıları Automata (Otomatlar)

SLR(1)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, özellikle derleyici tasarımı (compiler design) konusunda sıkça kullanılan parçalama algoritmalarından (parse algorithm) birisi olan SLR(1) algoritmasını açıklamaktır. Algoritma, klasik LR algoritmalarından LR(1) algoritmasının basitleştirilmiş halidir. Bu anlamda Simplified LR(1) şeklinde okunabilir. LR(1)…

C / C++

printf sprintf fprintf

Yazan : Şadi Evren ŞEKER Bu yazının amacı, C dilinin en çok kullanılan fonksiyonlarından birisi olan printf fonksiyonu ve türevlerini açıklamaktır. Bu fonksiyonlar aşağıdaki şekilde sıralanabilir: fprintf, printf, snprintf, sprintf Bu fonksiyonların tamamı stdio.h kütüphanesi içerisinde bulunur ve bu fonksiyonların…

Algoritma Analizi (Teory of Algorithms) C / C++ Veri Yapıları

Gnome Sıralaması (Gnome Sort)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, aptal sıralaması olarak bilinen (stupid sort) ve daha sonraları gnome sıralaması ismiyle anılan sıralama algoritmasını (sort algorithm) anlatmaktır. Algoritma 2000 yılında, Hamid Sarbazi-Azad tarafından bulunmuştur ve bir dizideki sayıları sıralama amacıyla, doğru…