Binary Search Tree

Binary Search Tree (BST), bilgisayar biliminde arama, ekleme ve silme işlemlerini ortalama O(log n) zamanla gerçekleştirebildiği için temel veri yapılarından biridir. BST’nin gücü, her düğümün solunda kendisinden küçük, sağında ise büyük değerlerin bulunması prensibinden gelir. Böylece ağaç dengeli kaldığı sürece işlemler dizilere kıyasla çok daha verimli yapılabilir. Bu örnekte, düğüm ekleme, silme, üç farklı dolaşım yöntemi (preorder, inorder, postorder), yaprak […]

RAM(Random Access Memory)

Herkesin bildiği gibi ram bilgisayarda geçici olarak bilgi depoladığımız hafıza birimidir. Elektiriği kestiğimizde içindeki bilgiler kesildiği için(volatile) geçici bir depolama aygıtıdır. Peki neden Random Access Memory demişler. Çünkü Random’un anlamı rastgele demektir. Buradaki rastgeleden kasıt, ramin her hangi bir yerindeki (rastgele,random) datayı sabit(constant) zamanlarda alabilmemizdir. Diğer depolama aygıtlarından(harddisk) farklı olarak ram’lerde bir dönüş yoktur bundan dolayıda gecikmeler olmaz. Sonuçta gecikmesiz […]

Quick Sort

Birçok bilgisayar bilimi dersinde Quick Sort’u defalarca işledik, analiz ettik, hatta sınavlarda bile çözdük. Ama çoğu zaman öğrendiğimiz şeyleri pratiğe dökmeden bırakıyoruz. İşte ben de uzun süre yazmayı ertelediğim bu algoritmayı, sonunda kendi elimle uygulamak istedim. Quick Sort, ortalama O(n log n) karmaşıklığıyla büyük diziler için en verimli sıralama yöntemlerinden biridir. Mantığı basit: Bir pivot seçer, diziyi pivot’tan küçük ve […]