Sıralama Algoritmaları (Sorting Algorithms)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde verilmiş olan bir grup sayının küçükten büyüğe (veya tersi) sıralanması işlemini yapan algoritmalara verilen isimdir. Örneğin aşağıdaki düzensiz sayıları ele alalım: 5 9 2 3 7 11 -4 6 Bu sayıların sıralanmış hali -4 2 3 5 6 7 11 olacaktır. Bu sıralama işlemini yapmanın çok farklı yolları […]

Devam

Fibonacci Arama Algoritması (Fibonacci Search Algorithm)

Yazan : Şadi Evren ŞEKER Bu arama algoritması, özyineli (recursive) bir seri olan fibonacci sayılarını kullanarak sıralı bir dizi üzerinde arama yapmaktadır. Çalışma mantığı arama yapılacak olan sıralı diziyi fibonacci sayılarını kullanarak parçalara bölmektir. Örneğin arama yapılacak olan alanın en fazla 2147483647 değerine sahip olabildiği integer alan olsun. Bu durumda bu sayıya ulaşana kadar olan […]

Devam

Özyineli Fonksiyonlar (Recursive Functions)

Yazan: Şadi Evren ŞEKER Fonksiyonlar tekrarlama yapılarına göre temel olarak iki türlü düşünülebilir. Buna göre bir fonksiyonun içinde yine kendisinden bir parça bulunuyorsa bu fonksiyonlara özyineli (recursive) fonksiyon denilirken, fonksiyonun kendisini tekrar etmemesi durumunda döngülü (iterative) fonksiyon ismi verilir. Teorik olarak bütün döngülü (iterative) fonksiyonlar özyineli (recursive) fonksiyon olarak yazılabilir (tersi de doğrudur). Öreğin 1’den […]

Devam

Körilemek (Currying)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle tembel çalıştırma (lazy evaluation) kullanılan programlamalarda fonksiyonların parametre sayılarını teke indirmek için kullanılan bir yöntemdir. Örneğin 2 parametre alan f(X , Y) -> Z fonksiyonu olsun. Bu fonksiyonda X ve Y parametre, Z ise sonuçtur. Körilendikten sonra bu fonksiyonun curry(f) : X -> (Y -> Z) olarak […]

Devam

Tembel Programlama (Lazy Programming)

Yazan : Şadi Evren ŞEKER Tembel programlama bir programlama yapısından daha çok bir hafıza yönetim biçimidir. Buna göre bir işlem hafızada yapılmadan gerekli olduğu ana kadar saklanır ve ancak gerekli olunca çalıştırılır. Bu yaklaşımın tersi olan hevesli programlamaya (eager programming) göre hafızada işlemlerin sonuçları saklanır. Bir örnek vermek gerekirse 3 + 5 + 7 işlemi […]

Devam

Alt Dizgi (Substring)

Yazan: Şadi Evren ŞEKER Bir dilde tanımlı olan ve o dildeki alfabenin üyesi olan semboller ile üretilmiş her dizginin alt dizgisi olabilir. Alt dizgi o dizginin belirli bir kısmına verilen isimdir. Buna göre örneğin boş dizgi her dizginin alt dizgisidir. Örneğin bir dildeki alfabe aşağıdaki şekilde tanımlı olsun: ∑1 = {0,1} Buna göre dilimizde sadece […]

Devam

Dizgi (String)

  Yazan: Şadi Evren ŞEKER Bir dilde bulunan ve o dilin tanımlı olan alfabesi içerisindeki sembollerin çeşitli sayılarda ve çeşitli sırada dizilmesi ile elde edilen yazılardır. Örneğin bir dildeki alfabe aşağıdaki şekilde tanımlı olsun: ∑1 = {0,1} Buna göre dilimizde sadece “0” ve “1” sembolleri tanımlı demektir. Bu dilde örneğin w1=0 veya w2=10101011010 gibi bir […]

Devam

Alfabe (Abece, Alphabet)

Yazan: Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan ve yazıları ifade etmeye yarayan sembollerden oluşmuş kümelere verilen isimdir. Buna göre bir dildeki olası bütün semboller kullanılarak oluşturulan alfabeler kullanılarak metinlerin elde edilmesi mümkündür. Bilgisayar bilimlerindeki alfabelerde bulunan semboller sınırlı sayıda kabul edilmiştir. Örneğin aşağıda çeşitli semboller içeren alfabe örnekleri verilmiştir: ∑1 = {0,1} ∑2 = {a,b,c,d,e,f} […]

Devam

Nesne (Object)

Yazan: Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde bir varlığın bizatihi kendisidir. Daha basit bir şekilde yaşayan bir varlık önce tanımlanmalıdır, bu tanımın yapılmasına sınıf adı verilir daha sonra bu sınıftan yaşayan bir ya da daha çok varlıklar oluşturulur bu her varlığa da nesne adı verilir. Bu durum doğal dillerdeki özel isimlere benzetilebilir. Sınıflar ise […]

Devam

Sınıf (class)

Yazan: Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde bir varlığın (nesne, object) tanımıdır. Daha basit bir şekilde yaşayan bir varlık önce tanımlanmalıdır, bu tanımın yapılmasına sınıf adı verilir. Bu durum doğal dillerdeki cins isimlere benzetilebilir. Varlıklar ise daha çok özel isimler gibi düşünülebilir. Örneğin kedi kelimesi bir cins isimdir ve daha çok bir sınıfı belirtir. […]

Devam