Normal Dağılım (Normal Distribution, Gauss Distribution)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar bilimlerinde, çeşitli konularda geçen normal dağılımı anlatmaktır. Literatürde, normal dağılım (normal distribution) veya Gauss dağılımı (Gauss distribution) olarak da geçen konu kabaca çan eğrisi olarak tanımlanabilir (bell curve). Yukarıdaki şekil, normal dağılımın grafiğidir ve aşağıdaki formülle hesaplanır (Gauss fonksiyonu): Yukarıdaki formül, aynı zamanda gauss dağılımının, olasılık […]

Devam

Bin Packing (Kutulama Problemi)

Yazan : Şadi Evren ŞEKER İyileştirme problemleri açısından klasik bir örnektir (optimisation problems). Problem basitçe bir kutunun içerisine en az boş alan bırakarak, eşyaların en iyi şekilde nasıl yerleştireceği olarak düşünülebilir. Aslında problemi boyutlara göre incelersek aşağıdaki şekilde bir liste yapılabilir: Tek boyutlu kutulama (1D bin packing) :Bu problemde amaç bir çizgi veya hat gibi […]

Devam

ctype.h

Yazan : Şadi Evren ŞEKER Bu yazının amacı C kütüphanelerinden ctype.h kütüphanesini açıklamaktır. Kütüphane kabaca C dilinde bulunan karakterler (char) üzerinde işlem yapmaya imkan sağlar. Kütüphane ismi de buradan gelmektedir ( char + type = ctype) Amacı bir karakterin tipini algılama veya değiştirmektir. Kütüphane karakterler üzerinde işlem imkanı sağladığı için dizgiler (string) üzerinde yapılan işlemler […]

Devam

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 kullanıldığı özyineli fonksiyonlar bilgiyi tutma ve ters çevirme (son giren ilk çıkar (LIFO) algoritması) için […]

Devam

Floyd Üçgeni (Floyd’s Triangle)

Yazan : Şadi Evren ŞEKER Robert Floyd tarafından tasarlanan bir sayı üçgenidir. Üçgen, her satırda, o satır kadar elemandan oluşan ve ardışık sayma sayılarının satırlara dağıtılması ile şekillenen, sağa yaslı bir dik üçgen olarak tanımlanabilir: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Yukarıdaki şekilde üçgenin ilk 5 […]

Devam

Dekker’s Algorithm

Yazan: Şadi Evren ŞEKER Bilgisayar mühendisliğinde, birbirinde ayrı işlerin kontrolü için kullanılır. Aynı anda çalışan işlerin birbirinden tamamen ayrı olması için (mutually exclusive), bazı kontrollerin yapılması gerekmektedir. Algoritma bu problemi aşağıdaki şekilde çözer. Yukarıdaki kodda görüldüğü üzere, kod üç kısımdan oluşmaktadır: Bariyer Kritik alan Bitiş Bariyer kodunda, işlem (process), diğer çalışmakta olan ve o anda […]

Devam

Dairesel Bağlı liste ile Önceliğe sahip hasta sırası takibi

Yazan : Şadi Evren ŞEKER Siteye gelen bir soru üzerine bu yazıyı ekliyorum. Öncelik sırası (priority queue), kullanarak gelen hastaları verilen önceliğe göre dairesel bir bağlı listeye (linked list) yerleştiren ve ardından sırayla gelen hastaları listeden alan bir kodu C++ dilinde yazalım. İlk olarak bir hastanın tanımını yapan sınıfı aşağıdaki şekilde kodluyoruz: Bu tanıma göre […]

Devam

Levenshtein Mesafe Algoritması (Levenshtein Distance)

Yazan: Yrd. Doç. Dr. Şadi Evren ŞEKER İki dizilim arasındaki benzerliği derecelendirmek için kullanılır. Pratikte arama sonuçlarında kelimeler arasındaki benzerliği derecelendirmek için kullanılmaktadır. Basitçe, iki dizi, iki kelime, iki cümle gibi varlıklar arasındaki değiştirme ve ekleme işlemlerini tutar. Örneğin Oyun- Ayan kelimeleri arasındaki mesafe 2 ‘dir çünkü ilk ve ikinci o harfleri a harfi ile […]

Devam

Preprocessor (Ön işlem)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, işlemcideki çalışmadan önce yapılacak işleri ifade etmek için kullanılan bir terimdir. Çoğu programlama dili açısından, programın çalışması aşamasına geçilmeden önce (run-time) yapılacak işleri belirtir. Genellikle bir betik (macro) şeklinde kayıtlı olarak dosyada duran ve programın derlenmesi aşamasından (compile time) önce veya sonra, ama çalıştırılmadan önce yapılan işleri ifade […]

Devam

Programming Concepts Dersi 2. Vize çözümü

Yazan : Şadi Evren ŞEKER Vize soruları ve çözümleri aşağıda verilmiştir: Soru 1) Kullanıcıdan bir sayı okuyarak, ekrana, aşağıdaki şekilde, verilen boyutlarda bir kare matrisin bütün elemanları 0 ve sadece ortadaki elemanları 1 olan bir artı yazdırınız. (boyut çift sayı ise, artı iki sütun ve satırdan, tek sayı ise tek satır ve sütundan oluşabilir) Örneğin […]

Devam