C / C++

C / C++ Derleyiciler Programlama Dilleri Veri Yapıları

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…

C / C++ Derleyiciler Programlama Dilleri Veri Yapıları

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…

C / C++ Derleyiciler Programlama Dilleri Veri Yapıları

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…

C / C++ Programlama Dilleri

Atıf ile Çağırma (Call by Reference)

Yazan : Şadi Evren ŞEKER Programlama dillerinde, fonksiyon çağırma işlemi sırasında kullanılan yöntemlerden birisidir. Farklı kaynaklarda atıf geçirme ( pass by reference ) olarak da geçmektedir. Genelde bir programlama dilinin standart çağrıma yöntemi değer ile çağırmadır (call by value) ancak…

C / C++ İşletim Sistemleri Programlama Dilleri Sistem Programlama (System Programming)

C ile Zaman İşlemleri

Yazan : Şadi Evren ŞEKER C dilinde mevcut zamanı almak ve işlemek mümkündür. Bunun için time.h dosyasının içerisinde bulunan fonksiyonlar kullanılabilir. Ayrıca time.h dosyasında bulunan time_t oluşumu (struct) zaman tutmak için geliştirilmiştir ve zamanı oluşturan alt unsurları da içerir. Örneğin…

C / C++ JAVA Programlama Dilleri Veri Yapıları

Dizgi Karşılaştırma (String Comparison)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde metin ve yazı gibi bilgileri tutmak için kullanılan dizgileri (Strings) tutan değişkenler karşılaştırılırken eşitlik kontrolü yapılması mümkün değildir. Bunun yerine dizginin tamamının eşit olup olmadığını kontrol etmek ve ancak bütün elemanları aynıysa eşit…

Algoritma Analizi (Teory of Algorithms) C / C++ Veri Yapıları

Kabuk Sıralama (Shell Sort)

Kabuk Sıralama (Shell Sort) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan sıralama algoritmalarından birisi de kabuk sıralamadır (shell sort).  İsmi Türkçeye kabuk sıralaması olarak çevrilsede aslında Donald Shell isimli algoritmayı ilk bulan kişinin isminden gelmektedir. Algoritma performansı O(n2)’dir. Çalışması…

C / C++ İşletim Sistemleri

İşlem Çatallanması (Process Forking)

Yazan : Şadi Evren ŞEKER Yazılan her program ilk başta tek bir işlem olarak çalışmaya başlar. Temel olarak derlendikten(compile) hemen sonra bağlanarak (link) hafızaya yüklenir (load). Yüklenen programı, işletim sistemi (operating system) bir işlem (process) olarak çalıştırır. Ancak bazı işlemler…

C / C++ JAVA Veri Yapıları

String Tokenizer ( Dizgi Parçalayıcı )

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sık kullanılan veri tiplerinden birisi de dizgilerdir (Strings). Bu veri tipinde herhangi bir yazı durabilir. Genellikle verinin bir parçasını elde etmek için dizgi içerisinden bir parça çıkarılması gerekir. Bu işlem için dizginin (string)…

Algoritma Analizi (Teory of Algorithms) C / C++ Veri Yapıları

Sallayıcı Sıralaması (Shaker Sort)

Yazan : Şadi Evren ŞEKER Veri sıralama için kullanılan ve kabarcık sıralamasının (bubble sort) neredeyse aynısı olan sıralama algoritmasıdır (sort algorithm). Kabarcık sıralamasından tek farkı, kabarcık sıralaması tek yönlü olarak kabarcığı hareket ettirirken, sallayıcı sıralaması bir sağdan bir soldan iki…