Ters Parça Algoritması (Reverse Factor Algorithm)

Yazan : Şadi Evren ŞEKER Algoritma iki dizgiyi (string) karşılaştırmak için kullanılır. Basitçe bir dizgide aranan daha kısa dizginin öncelikle aşağıdaki şekilde karşılaştırılması ile başlanır. Ardından şayet uyum sağlanıyorsa bulundu olarak sonuç döndürülür, şayet uyum sağlanmıyorsa iki ihtimal vardır, dizgilerin karşılaştırılan kısımlarından uyan en uzun eke kadar kaydırma yapılır veya hiç uyuşma yoksa aranan dizgi […]

Devam

Strand Sort (İplik Sıralaması)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, literatürde iplik sıralaması (strand sort) olarak geçen sıralama algoritmasını (sorting algorithm) açıklamaktır. Sıralama algoritması bağlı listeler (linked list) üzerinde etkili olan bir algoritmadır ve iki sıralı listenin birleştirilerek yine sıralı bir liste oluşturulabileceği mantığına dayanır. Sıralama algoritmasına geçmeden önce iki adet sıralı bağlı listenin (sorted linked list) […]

Devam

Dizgi Hizalama (String Alignment)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, dizgi yaslaması (string alignment) kavramını açıklamaktır. Literatürde dizilim yaslaması (sequence alignment) olarak da geçen kavram basitçe iki dizgiyi alarak bu dizgilerin birbiri ile olan ilişkilerini bulmayı hedefler. Günümüzde özellikle biyobilişim (bioinformatics) çalışmalarının artması ile, gen dizilimlerinin karşılşatırılması çalışmalarında önemli bir role sahip olmuştur. Örneğin iki adet dizgi […]

Devam

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. Algoritma ayrıca günümüzde versiyon takip sistemlerinde, wiki motorlarında ve moleküler biyoloji alanlarında kullanılmaktadır. Unix üzerinde […]

Devam

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 çalışmasını bir örnek üzerinden görebiliriz: Örneğin, a ve b isminde iki dizgi (string) alalım: a: […]

Devam

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 biyobilişim (bioinformatics) çalışmaları ile, genler arasında benzerlik bulunmasının önem kazanmasıyla günümüzde hatırı sayılır bir öneme […]

Devam

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 farklılıklar bulunur. Algoritma yapısal olarak, Smith-Waterman algoritmasına benzemektedir. İki algoritma arasındaki temel farklılık Smith-Waterman algoritmasında […]

Devam

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ı halinde algoritma sona erer. Algoritmayı basitçe aşağıdaki adımlar şeklinde yazmak mümkündür: Dizi sıralı olana kadar, […]

Devam

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 aralığa taşımayı amaçlar. Algoritma basitçe aşağıdaki şekilde anlatılabilir: Yanyana duran ve sıralama kriterini bozan bir […]

Devam

Tarak Sıralaması (Comb Sort)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, tarak sıralaması (comb sort) olarak bilinen algoritmayı açıklamaktır. Algoritma, çıkışı itibariyle kabarcık sıralaması (bubble sort) ve hızlı sıralama (quick sort) karışımı olarak düşünülebilir. Tarak sıralaması aslında anlaşılması oldukça kolay bir algoritmadır. Ancak anlamak için kabarcık sıralamasının (bubble sort) anlaşılması gerekir. Şayet bu algoritmayı bilmiyorsanız, önce bu algoritmayı […]

Devam