Algoritmalar & Veri Yapıları

Temel Bilgisayar Kavramları Veri Güvenliği (Cryptography) Veri Yapıları Yapay Zeka (Artificial Intelligence)

Etraflı Arama (Tam Arama, Exhaustive Search)

Yazan : Şadi Evren ŞEKER Literatürde tam arama veya etraflı arama olarak geçmektedir. İngilizcede “exhaustive search” terimi kullanılır. Genel olarak, arama algoritmalarının performansını arttırmak için kullanılan bir yöntemdir. Bir arama algoritmasının tam arama (exhaustive search) olabilmesi için aşağıdaki şartları sağlaması…

C / C++ Kod Örnekleri Veri Yapıları

Dosyayı Tersten Basan Kod

Yazan : Şadi Evren ŞEKER Gelen bir soru üzerine, C dilinde bir dosyanın içeriğini tersten ekrana basan kodu yazıp sitede yayınlıyorum. Öncelikle algoritmamızı inşa edelim. Ters almak gibi işlemler yapı olarak özyineli (recursive) fonksiyonlara çok uygundur. Genelde stack (yığın) yapısının…

Automata (Otomatlar) Temel Bilgisayar Kavramları

Emil Post Makinesi

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle özdevinirliler kuramında (automata theory) geçen bir makine modelidir. Yapı olarak Turing makinesine (Turing machine) çok benzer hatta ufak farklılıklar dışında neredeyse aynı olduğu söylenebilir. Turing makinesini geliştiren Alan Turing ile bağımsız olarak…

Graf Teorisi

Gomory-Hu Ağacı

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, şekil kuramında (graph theory) kullanılan en kısa kesim (minimum cut) problemine yönelik bir iyileştirme (optimization) ağacıdır. Algoritmanın amacı, bir ağaç (tree) oluşturmak ve oluşturulan ağaçta, bir şekildeki (graph) kesme ihtimallerini hesaplamaktır. Algoritmanın çalışmasını…

JAVA Nesne Yönelimli Programlama Veri Yapıları

Java dilinde vektörler

Yazan : Şadi Evren ŞEKER Bu yazının amacı, Java dilindeki vektör sınıfının kullanılmasını ve yapısını anlatmaktır. Java dilindeki vektörlerin yapısından bahsederek başlayalım. Klasik veri yapısı olarak dizilerin (array) ve bağlı listelerin (linked list) özelliklerini birleştirmiştir. Bir vektör boyutu belli olmadan…