Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Bilgisayar grafiği ve görüntü işleme konularında sıkça kullanılan ve görüntünün daha yumuşak hatlar ile görülmesini sağlayan yöntemdir. Aslında basit bir interpolasyon yöntemidir ve işlem yapılan ortamdanki renk farklılıkarını yumuşatmak için renk geçişi çok yüksek olan imgecikler (pixel) arasında orta noktalara orta renkleri koyarak yumuşatma işlemi yapar. Aşağıdaki iki resimde bu [...]
Yazan: Şadi Evren ŞEKER Bilgisayar grafiği konusunda çember çizmek için pisagor yöntemi ve kutup koordinat yöntemi ile birlikte kullanılan yöntemlerden birisidir. Buna göre merkezi ve yarı çapı belirli bir çemberi çizmek için hangi koordinatlardaki imgeciklerin (pixel) işaretleneceği (veya imgeciklerin hangi koordinatlara konulacağını) belirler. Yukarıda bir çember ve bu çemberin geçtiği imgecikler tasvir edilmiştir. Bu algoritma [...]
Yazan : Şadi Evren ŞEKER Bilgisayar grafikleri konusunda çember çizmek için kulllanılan pisagor yöntemi ve orta nokta yöntemi ile birlikte alternatif algoritmalardan birisidir. Bu algoritmaya göre verilen bir merkez koordinatlarında verilen yarıçapta bir çember çizmek için yapılması gereken yöntem incelenmektedir. Bilgisayar garfiği konusunda bir şekli çizmek için veya verilen bir noktanın bu şekil üzerinde olduğunu [...]
Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde çember çizmek için kullanılan yöntemlerden birisidir. Diğer çok kullanılan yöntemlerden birisi de kutup koordinatları (polar coordinates) kullanmaktır. Bu yöntemde, bir çemberin formülü alındıktan sonra bu çember üzerindeki imgeciklerin (pixel) nasıl bulunacağı çözüme ulaştırılmıştır. Örneğin aşağıdaki gibi bir çemberi ele alalım: Yukarıdaki bu resimde merkezi belirli olan (xc,yc) ve [...]
Yazan: Şadi Evren ŞEKER Bilgisayar grafiği konusunda kullanılan bir doğru çizme algoritmasıdır. İki veya üç boyutlu ortamlarda kullanılabilir. Buna göre başlangıç ve bitiş noktalarının koordinatları belirli bir doğruyu çizmek için nasıl bir yol izleneceğini belirler ve bu doğrunun geçtiği imgeciklerin (pixel) hesaplanmasında kullanılır. Örneğin yukarıdaki tasvirde bir doğrunun geçtiği imgeciklerin belirlenmesinde nasıl bir yol izlendiği [...]
Yazan : Şadi Evren ŞEKER Bilgisayar grafiği konusunda bir doğru çizmek için kullanılan algoritmalardandır. Algoritma 2 veya 3 boyutlu olarak uygulanabilir. Algoritma basitçe bir doğrunun geçeceği yatay hatları işaretleyerek çalışır. Örneğin aşağıdaki tasvirde bir doğru gösterilmiş ve bu doğrunun hangi imgecikleri (pixel) işaretleyeceği gösterilmiştir. Yukarıda da görüldüğü üzere bir doğru, yatay eksene paralel veya yatay [...]
Yazan : Şadi Evren ŞEKER Bu problemin amacı pekçok farklı yer gezen bir tüccarın en az yol katederek bütün gezeceği yerleri nasıl tamamlayacağının hesaplanmasıdır. (gezgin satıcı problemi) Örneğin aşağıda verilen türkiye haritasında farklı iller ve bu illerin coğrafi konumları işaretlenmiştir. Kolaylık olsun diye iller arasındaki mesafeleri kuş uçuşu gitmek istersek bu durumda bütün illeri dolaşan [...]
Yazan : Şadi Evren ŞEKER Dikişli ağaçlar, ikili ağaçların özel bir halidir. Bilindiği üzere ikili ağaçların son elamanı olan yapraklarda (leaf) bulunan üyeleri sol ve sağ çocuğu olarak boş (null) değer gösterirler. Dikişli ağaçlar ise bunun aksine ağaç içerisinde kimin yerine ikame edecekse bu düğümü gösterir. Örneğin aşağıdaki ağacı ele alalım: Yukarıdaki ikili ağaçta sonda [...]
Yazan: Şadi Evren ŞEKER Fonksiyonel programlamada kullanılan fonksiyon tarzlarından birisidir. Buna göre bu tarzda yazılmış olan bir fonksiyon doğrudan değer döndürmek yerine, ilave bir parametre ile fonksiyondaki hesaplamaları taşır. Devamsal geçiş tarzında yazılan bir fonksiyon çağrıldığı zaman ilave olarak bir prosedür verilerek bu fonksiyonun dönüş değerine yazılır. Doğrudan çağırmada dahili olark yapılan bazı işlemler devamsal [...]
Yazan : Şadi Evren ŞEKER Fonksiyonel programlamada kullanılan bir fonksiyon tipidir. Buna göre bir özyinelemeli (recursive) fonksiyon kendisini her çağırmada mevcut işlenmiş değeri geçirir. Bu sayede derleyici (compiler) özyineleme yığınını (recursion stack) hafızada tutmak yerine basit bir parametre değiştirme işlemi ile sonucu hesaplayabilir. Örneğin aşağıda iki farklı faktöriyel hesabı yapan fonksiyon verilmiştir: Klasik özyineleme fonksiyonu [...]
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ı [...]
Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe her adımda dizideki en küçük sayının nerede olduğu bulunur. Bu sayı ile dizinin başındaki sayı yer değiştirilerek en küçük sayılar seçilerek başa atılmış olur. Sıralanmak istenen verimiz: 5,7,2,9,6,1,3,7 olsun. Bu verilerin bir oluşumun(composition) belirleyici alanları olduğunu düşünebiliriz. [...]
Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki orta noktada (mean) bulunan bir sayıyı seçerek diğer bütün sayıları bu orta sayıdan büyük veya küçük diye sınıflayarak sıralama yapmayı hedeflemektedir. Bu açıdan bir parçala fethet (divide and conquere) yaklaşımıdır. Ayrıca bu seçilen orta [...]
Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan diziyi ikişer elemanı kalan parçalara inene kadar sürekli olarak ikiye böler. Sonra bu parçaları kendi içlerinde sıralayarak birleştirir. Sonuçta elde edilen dizi sıralı dizinin kendisidir. Bu açıdan bir parçala fethet (divide and conquere) yaklaşımıdır. Get [...]
Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Yıpınlama sıralaması, arka planda bir yığın ağacı(heap) oluşturur ve bu ağacın en üstündeki sayıyı alarak sıralama işlemi yapar. (Lütfen yığın ağacındaki en büyük sayının her zaman en üstte duracağını hatırlayınız. ) Sıralanmak istenen verimiz: 5,12,20,18,4,3 olsun. Bu verilerin [...]
Yazan : Şadi Evren ŞEKER Yığın ağacı bilgisayar bilimlerinde özellikle sıralama amacıyla çokca kullanılan bir veri yapısıdır. Bu veri yapısı üst düğümün (atasının) alt düğümlerden (çocuklarından) her zaman büyük olduğu bir ikili ağaç (binary tree) şeklinde düşünülebilir. Aşağıda örnek bir yığın ağacı verilmiştir: Yukarıdaki ikili ağaçta dikkat edilirse ağaç dengeli bir şekilde sırayla doldurulmuştur. Buna [...]
Yazan: Şadi Evren ŞEKER Ağaçlar bilindiği üzere gösterici kullanan veri yapılarıdır. Ancak verinin dizi(array) üzerinde saklanması durumunda ağacın bu gösterici özelliğinin kullanılması ne yazık ki mümkün olamamaktadır. Bunun yerine dizinin indis numaralarını kullanan bir matematiksel fonksiyon ile benzer bir yapı elde edilebilir. Yukarıda verilen ikili ağacı ve her düğümün köşesinde yazan düğüm numarasını dikkate alırsak [...]
Yazan : Şadi Evren ŞEKER Veri işlenmesi sırasında çeşitli durumlarda işlemin istenmeyen yerlere gitmesini engelleyen veri tipidir. Örneğin boyutu bilinmeyen bir dizi işlenirken dizinin sonuna gelindiğini anlamak için dizinin sonunda programın algılamasını sağlayan ve dizideki sayılardan ayırt edilen bir değer girmek gibi. Mesela sadece pozitif tam sayılardan oluşan bir dizide bitişi belirtmek için -1 yazılması [...]
,Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki her sayının kaç tane olduğunu farklı bir dizide sayar. Daha sonra bu sayıların bulunduğu dizinin üzerinde bir işlemle sıralanmış olan diziyi elde eder. Sıralanmak istenen verimiz: 5,7,2,9,6,1,3,7 olsun. Bu verilerin bir oluşumun(composition) belirleyici alanları [...]
Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe ardışık duran iki hafıza bloğunun birbirine nispetle sıralanması ve bu işlemin sürekli tekrarlanması sayesinde sıralar. Ardışık iki hafıza bloğuna bakmasından dolayı baloncuk ismini almıştır. Çünkü bu bakma işlemi bir baloncuğun (buble) hareket etmesi gibi sayıların üzerinde hareket [...]
Yazan: Şadi Evren ŞEKER Ramanujan sayıları, sayıların küplerinin toplamı eşit olan sayılardır. 1729 sayısı da denilen seri basitçe iki farklı sayın çiftinin küplerinin toplamı olarak yazılabilen sayılardır. 1729 = 13 + 123 = 93 + 103 Aşağıda sayılar ve sayıların küpleri ve bu küplerin toplamları verilmiştir. J 1 2 3 4 5 6 7 8 [...]
Yazan : Şadi Evren ŞEKER Mersenne sayıları 2n-1 formülünden çıkan sayılar serisidir (sequence). Buna göre Mersenne sayıları : 1 3 7 15 31 63 … şeklinde devam edip giden sayılardır. Ayrıca asal mersenne sayıları (mersenne prime numbers) adı verilen sayılar ise 2n-1 formülünün sonucu asal olan sayılardır. Bu sayı serisi ise 3 7 31 … [...]
Yazan: Şadi Evren ŞEKER Bir olayın başka bir olayı gerektirmesi durumudur. Basitçe neden-sonuç ilişkisine dayanlı felsefi yaklaşımdır. Buna göre bütün olaylara nesnel bir yaklaşımda bulunulur ve bu yaklaşım her zaman aynı sonucu verir. gerekircilik yaklaşımı aynı zamanda bir düşünce yapısının incelenmesinde de kullanılabilir. Örneğin ekonomik nedesellik (economic determinism) altında bir tarihi olayı incelemek bu tarihi [...]
Yazan : Şadi Evren ŞEKER Bir matriksin modulosunu alma işlemidir. Basitçe bir dizide bulunan sayılardan en fazla tekrarlı olanını döndürür. Şayet sayılardan hiçbirisi tekrar etmiyorsa o zaman bu matriksin mod’u yoktur. Şayet aynı sayıda tekrar eden iki farklı sayı bulunuyorsa o zaman matriksin mod’u bu sayıların tamamını içeren bir dizidir. Örnekler: int[] a = {4,5,7,3,2,5,6,8} [...]
Yazan : Şadi Evren ŞEKER Hamming mesafesi bilgisayar bilimlerinde aynı uzunluktaki iki dizgi (string) arasında, birbirine dönüşmesi için gerekli olan yer değiştirme sayısını verir. Yani basitçe bir dizginin diğer dizgiden ne kadar farklı olduğunu gösterir. Örneğin aşağıda bazı dizgiler arasındaki hamming mesafesi verilmiştir: 100011101 100101101 = 2 düğün düşün = 1 Bu durum bir küp [...]