İkili Arama Algoritması (Binary Search Algorithm)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir bilgi kaynağı veya veri yapısı üzerinde problemi her adımda iki parçaya bölerek yapılan arama algoritmasının ismidir. Bu anlamda bazı kaynaklarda bölerek arama olarak da geçmektedir. Arama algoritması, yapı olarak parçala fethet (divide and conquere) yaklaşımının bir uygulamasıdır. Bu yazı kapsamında diziler üzerinde ikili arama işleminin nasıl yapıldığı […]

Devam

Tam sayı veri tipi (Integer variable type)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde hemen hemen bütün programlama dillerinde bulunan en basit veri tipidir. Programlama sırasında tutulan basit tam sayıları işlemek için kullanılır. Normal bir tam sayı değişkeni 16 bitliktir (ikil) ve 16 ikil ile (bit) tutulabilecek olan-32767 ile +32767 sayıları arasında tanımlı olan değerleri tutabilir. 32 bitlik işletim sistemleri ve derleyicilerin […]

Devam

Sınırlı Derin Öncelikli Arama (Depth-Limited Search)

  Sınırlı Derin Öncelikli Arama (Depth-Limited Search) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan arama algoritmalarından birisidir. Bu algoritma esas olarak derin öncelikli arama (depth first search DFS) ile aynı çalışmaktadır ancak tek farkı arama işlemi sırasında özellikle dairelere (cycles) takılma ihtimaline karşı sınır önlemi alınmış olmasıdır. Örneğin aşağıdaki şekli ele alalım: Yukarıdaki şekil […]

Devam

Tepe Tırmanma Algoritması (Hill Climbing Algorithm)

Tepe Tırmanma Algoritması (Hill Climbing Algorithm) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan arama algoritmalarından birisidir. Arama işleminin yapıldığı grafikteki tepelerden ismini alır. Basitçe bir grafikte bulunan en düşük noktanın aranması sırasında grafikte yapılan hareketin aslında tepe tırmanmaya benzemesinden ismini almaktadır. Örneğin yukarıdaki şekilde gösterilen ok temsili bir tepe tırmanma işlemidir. Burada arama yapan […]

Devam

DFA Metin Arama Algoritması (DFA Text Search)

Yazan : Şadi Evren ŞEKER 1. Otomatın İnşası 2. Algoritmanın arama aşaması 3. Algoritmanın çalışması 4. Algoritmanın kodlanması Bilgisayar bilimlerinde, bir metnin içerisinde farklı bir metnin veya bir kelimenin aranması sırasında kullanılan algoritmalardan birisidir. Algoritma, aranan kelime için bir otomat (automaton) oluşturur ve hedef metin içerisinde bu otomata göre arama işlemi yapar. Oluşturulana otomatın DFA […]

Devam

Kaba Kuvvet Metin Arama Algoritması (Bruteforce Text Search Algorithm)

Yazan: Şadi Evren ŞEKER 1. Algoritmanın başarısı 2. Algoritmanın çalışması ve bir örnek 3. Algoritmanın kodlanması Bilgisayar bilimlerinde bir metnin içerisinde başka bir metnin aranması için kullanılan en ilkel ve dolayısıyla en düşük performanslı arama algoritmasıdır (search algorithm). Algoritma hedef metinde, aranan metni harf harf bulmaya çalışır. Bu yapısından dolayı diziler üzerinde kullanılan doğrusal arama […]

Devam

Emirli Programlama (Imperative Programming)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, programlama dillerini sınıflandırmak ve bir programlama dilinin özelliklerini belirtmek için kullanılan bir terimdir. Genellikle literatürde prosedürel programlama (procedural programming) olarak da geçmektedir. Emirli programlama ile kastedilen, bir programlama dilindeki komutların satır satır emirlerden oluşmasıdır. Örneğin bir robota komut verecek olsaydık: Kolu 10 derece sağa döndür 2 metre yürü […]

Devam

C dilinde döngü örnekleri

Yazan : Şadi Evren ŞEKER Bu yazıyı dersimi alan C ile programlamaya giriş öğrencileri için yayınlıyorum. Yazıyı okuyabilmek için sitemdeki C giriş dersinin sayfasında bulunan şifreyi giriniz. [password] Bu yazının amacı, bir programlama dili olan C dilinde yazılabilecek temel döngülere misaller vermek ve öneme haiz noktalarını izah etmektir. Aşağıda basitten başlanarak muhtelif programlama melekesi gerektiren […]

Devam

Ortak Katların En Küçüğü (Least Common Multiple , ekok)

Yazan : Şadi Evren ŞEKER Matematiksel olarak iki tam sayının ortak çarpanlarının (common factors) çarpımından oluşan (common multiple) en küçüğünü bulma işlemidir. Bu işlem için öncelikle sayıların çarpanlarını bulmak sonra bu çarpanlardan ortak olan en küçüğünü almak gerekir. Örneğin 60 sayısının çarpanları (factors) : 5 3 2 2 olarak yazılabilir yani 60 = 5 x […]

Devam

OBEB (GCD , ebob )

Yazan : Şadi Evren ŞEKER Matematiksel olarak iki tam sayının çarpanlarına ayrıldığında, iki tam sayıyı da tam olarak bölen en büyük sayıya verilen isimdir. Sayılar üzerinden anlatmak gerekirse 60 ve 72 sayıları için 12 hem 60 hem de 72’yi kalansız bölen (tam bölen) en büyük sayıdır. Bu sayıyı bulmak için iki tam sayı da öncelikle […]

Devam