Algoritmalar & Veri Yapıları

Algoritma Analizi (Teory of Algorithms) Bilgisayar Matematiği

Çemberi bölen doğrular problemi

Yazan : Şadi Evren ŞEKER Bu yazının amacı, özyineli problemlere bir örnek vermek ve nasıl çözüldüğünü anlatmaktır. Problemimiz oldukça meşhur olan bir çemberin doğrular tarafından bölünmesidir. Kabaca, bir çemberi 20 adet doğrunun en fazla kaç alana ayırabileceğini soralım. Örneğin n=0…

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…

Algoritma Analizi (Teory of Algorithms) Bilgisayar Felsefesi Programlama Dilleri Temel Bilgisayar Kavramları

Algoritma (Algorithm)

Yazan : Şadi Evren ŞEKER Bazan biz insanlar için çok kullanılan kelimeler, tanımlanması en güç kelimeler haline dönüşebiliyor. Algoritma da sanırım bilgisayar bilimleri için benzer özellikte olan bir kelime. Sanırım bu kelimeyi tanımlarken “bir dizi matematiksel adım” ifadesini kullanmak yerinde…

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…

Algoritma Analizi (Teory of Algorithms) Automata (Otomatlar)

Post Karşılık Problemi (Post Correspondence Problem)

Yazan : Şadi Evren ŞEKER Emil Post tarafından 1946 yılında ortaya atılan ve belirsiz karar problemi olarak sınıflandırılabilecek olan (undecidable decision problem) problemin ismidir. Literatürde kısaca PCP olarak da geçmektedir. Bu problem, yine Emil Post tarafından geliştirilen, Post Makinesi (post…

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…

Algoritma Analizi (Teory of Algorithms) Bilgisayar Matematiği Temel Bilgisayar Kavramları

Merkezi poligon sayıları (Centeral Polygon Numbers)

Yazan : Şadi Evren ŞEKER Bir dairenin verilen doğru sayısıyla kaç farklı parçaya bölünebileceğini veren sayı serisidir. 1, 2, 4, 7, 11 şeklindeki sayılara, merkezi poligon sayıları ismi verilir. Bu sayılar, verilen doğru sayısına göre, bir daireyi kaç farklı şekle…

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

Programların Çalışma Süresi

Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayarda yazılan bir kodun, derlendikten sonra bilgisayarda çalışması için geçen zamanın nasıl hesaplandığını açıklamaktır. Bu yazıyı okumadan önce, aşağıdaki yazıların okunması faydalı olacaktır: İşlemci Zamanlama (CPU Scheduling) İşlemci Zamanları (CPU Timing) İşlemci…