Ç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…
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ı…
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 (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…
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…
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…
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 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…
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…
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…
