Atomluluk (Atomicity)

Yazan: Şadi Evren ŞEKER Latince bölünemez anlamına gelen atom kökünden üretilen bu kelime, bilgisayar bilimlerinde çeşitli alanlarda bir bilginin veya bir varlığın bölünemediğini ifade eder. Örneğin programlama dillerinde bir dilin atomic (bölünemez) en küçük üyesi bu anlama gelmektedir. Mesela C dilinde her satır (statement) atomic (bölünemez) bir varlıktır. Benzer şekilde bir verinin bölünemezliğini ifade etmek […]

Devam

Veri yapıları üzerinde fonksiyonlar

Yazan : Şadi Evren ŞEKER Ardışık veri yapıları (consecutive data structures) üzerinde çalışan fonksiyonlar temel olarka 3 grupta toplanabilir. Bu gruplarda amaç yazılabilecek fonksiyon tiplerini üç çatı altında toplamak ve bir abstraction (soyutlama) yaparak programcıya sadece istediği fonksiyonu parametre verebileceği bir ortam hazırlamaktır. Bu işlem sırasında fonksiyon göstericileri (Function pointers) kullanılarak bir fonksiyon diğer fonksiyonlara […]

Devam

Filitreleme Tipi Fonksiyonlar (Filter Type Functions)

Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak eleyen (filitreleyen) fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki bağlı liste üzerinden tek sayıları eleyen bir fonksiyon yazmak istersek yapmamız gereken, tek sayıları veren aşağıdaki fonksiyonu bu bağlı liste üzerine […]

Devam

Biriktirme Tipi Fonksiyonlar ( Accumulator Type Functions)

Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak bir değişkende biriktiren fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki listede toplama fonksiyonu olarak aşağıdaki fonksiyonu uygulayacak olursak: int topla(int a, int b){ return a + b; } sırasıyla yapılması […]

Devam

Bindirme Tipi Fonksiyonlar (Mapping Style Functions)

Yazan : Şadi Evren ŞEKER Veri yapıları (data structures) üzerinde uygulanan döngü (loop) tiplerinden birisidir, literatürde haritalama tipi olarak da geçmektedir. Temel olarak bir veri tipi üzerindeki değişimi uygulamak için kullanılırlar. Örneğin aşağıdaki bağlı listeyi (linked list) ele alalım: Yukarıdaki bu bağlı listedeki elemanların üzerine, sayı değerini 1 arttıran bir fonksiyon bindirildiğinde (map) aşağıdaki sonuç […]

Devam

Dolaylı sıralama (Indirect Sort, Gayrimüstakim sıralama)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıralama işleminin çok büyük veriler üzerinde yapılması durumunda tercih edilen bir sıralama yöntemidir. Basitçe sıralama işleminin doğrudan verilerin yerinin değiştirilemsi ile değil de daha çok bu verileri gösteren gösterici (pointer) veya nesne atıfları (object referrer) ile yapılmasıdır. Örneğin sistemimizdeki öğrencileri sıralamak isteyelim. Her öğrenci bilgisi de sistemde 1MB […]

Devam

Harici Sıralama (External Sort)

Yazan : Şadi Evren ŞEKER Bir sıralama algoritmasının tamamının bilgisayarın hafızasına (Memory, RAM) yüklü olmaması durumudur. Yani klasik olarak bir dizi (array) veya bağlı liste (linked list) üzerinde yapılan sıralamaları dahili sıralama (internal sort) olarak isimlendirmek mümkündür. Harici sıralama klasik sıralamalardan farklı olarak, verinin ancak bir kısmının RAM’de durması durumunda devreye girer. Örneğin hafızamızın 100MB […]

Devam

Graflarda Kesitler (Cut in Graphs, Ağaçlarda Kesitler)

Yazan : Şadi Evren ŞEKER Graf teorisinde (graph theory) bir ağacın içerisinden bir kısmınkesilmesine dayalı işlemdir. Bir ağaç (tree) yada bir graf( graph) kesildiğinde tek bir kesilme ile iki parçaya ayrıldığı kabul edilir. Bir kesitin boyutu kestiği kenar (edge) sayısı kadardır. Örneğin aşağıdaki kesitin boyutu 3’dür. grafın ağırlıklı olması durumunda (weighted graph), kesitin boyutu, kestiği […]

Devam

Huffman Kodlaması (Huffman Encoding)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veri sıkıştırmak için kullanılan bir kodlama yöntemidir. Kayıpsız (lossless) olarak veriyir sıkıştırıp tekrar açmak için kullanılır. Huffman kodlamasının en büyük avantajlarından birisi kullanılan karakterlerin frekanslarına göre bir kodlama yapması ve bu sayede sık kullanılan karakterlerin daha az, nadir kullanılan karakterlerin ise daha fazla yer kaplamasını sağlamasıdır. Şayet bütün […]

Devam

Varlık-Ağaç Modelleme (Tree Model)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde nesneleri modellemek için kullanılan yapılardan birisidir. Buna göre modelleme işlemi için bir veri ağacı kullanılır ve bu veri ağacının her üyesi bir nesneden oluşur. Bu sayede nesneler arasındaki bağlantı tutulabileceği gibi nesneler gruplanarak daha üst nesne tanımları elde edilmiş olur. Örneğin aşağıdaki araba modelini ele alalım: Yukarıdaki ara […]

Devam