İçeriğe geç
parazade

Graf Ne Demek?

İngilizce: Graph

Yayın: · Son güncelleme:

Graf Ne Demek? Kısaca

Graf, düğümlerden (nokta) ve bu düğümleri birbirine bağlayan kenarlardan (bağlantı) oluşan bir veri yapısıdır. Sosyal ağlar, yol haritaları ve bilgisayar ağları gibi ilişkileri modellemek için kullanılır.

Graf nedir?
İçindekiler
  1. Graf ne demek?
  2. Türleri
  3. Nasıl temsil edilir?
  4. Nerelerde kullanılır?

Graf ne demek?

Graf, nesneler ve aralarındaki ilişkileri gösteren bir yapıdır. Nesnelere düğüm (ya da köşe), ilişkilere kenar denir. Matematikteki graf kuramından gelir ve yazılımda en esnek veri yapılarından biri olarak kullanılır. Çizgi grafikle karıştırılmamalıdır.

Türleri

Kenarların yönü olabilir ya da olmayabilir. Facebook'taki arkadaşlık karşılıklıdır, bu yüzden yönsüz bir graf oluşturur. Instagram'da birini takip etmeniz onun sizi takip ettiği anlamına gelmez; bu ilişki yönlü bir graftır.

Kenarlar ağırlık da taşıyabilir. Bir harita uygulamasında şehirler düğüm, yollar kenardır. Her yolun kilometre değeri ise o kenarın ağırlığıdır. Örneğin İstanbul'dan Ankara'ya giden farklı güzergâhlar arasından en kısasını bulmak, ağırlıklı bir grafta en kısa yol problemidir.

Nasıl temsil edilir?

Kodda graf genellikle iki şekilde saklanır. Komşuluk listesinde her düğümün yanına bağlı olduğu düğümler yazılır. Komşuluk matrisinde ise satır ve sütunlar düğümleri gösterir; hücredeki değer aralarında kenar olup olmadığını belirtir. Seyrek bağlantılı büyük graflarda liste daha az bellek kullanır.

Nerelerde kullanılır?

Navigasyon uygulamaları en kısa rotayı Dijkstra gibi graf algoritmalarıyla hesaplar. Sosyal ağlar "tanıyor olabileceğiniz kişiler" önerisini graf üzerindeki ortak bağlantılardan çıkarır. E-ticaret sitelerindeki öneri sistemleri, internet trafiğinin yönlendirilmesi ve proje görevleri arasındaki bağımlılıklar da graf olarak modellenir. İlişkilerin ön planda olduğu verilerde graf veritabanı adı verilen özel sistemler de kullanılır.

Sıkça Sorulan Sorular

Graf nedir, ağaçtan farkı ne?

Graf, düğümler arasındaki her türlü bağlantıyı gösterebilen genel bir yapıdır. Ağaç ise döngü içermeyen ve tek köke sahip özel bir graf türüdür.

Graf ile grafik aynı şey mi?

Hayır. Grafik, verilerin çizgi ya da sütunla görselleştirilmesidir. Graf ise matematik ve bilgisayar bilimindeki düğüm ve kenar yapısıdır.

İlgili terimler

Ağaç Veri Yapısı(Tree Data Structure)Ağaç veri yapısı, verileri bir kökten başlayıp dallara ayrılan hiyerarşik bir düzende tutan yapıdır. Her düğüm alt düğümlere bağlanabilir; dosya sistemleri ve web sayfalarının yapısı bu modele dayanır.Veri Yapıları(Data Structures)Veri yapıları, verilerin bilgisayar belleğinde düzenli ve verimli biçimde saklanması ve işlenmesi için kullanılan yöntemlerdir. Dizi, bağlı liste, stack, kuyruk, ağaç, graf ve hash tablosu en bilinen örneklerdir.Dinamik Programlama(Dynamic Programming)Dinamik programlama, büyük bir problemi örtüşen alt problemlere bölüp her alt problemi yalnız bir kez çözen ve sonucunu saklayan bir algoritma tasarım yöntemidir. Tekrarlanan hesapları ortadan kaldırarak çözümü çok hızlandırır.Ağırlık(Weight)Ağırlık (weight), yapay sinir ağlarında ve diğer makine öğrenmesi modellerinde her girdinin ya da bağlantının çıktıya ne kadar katkı yapacağını belirleyen ve eğitim sırasında veriden öğrenilen sayısal parametredir.Liste(List)Liste (list), programlamada birden fazla değeri sıralı tutan, eleman eklenip çıkarılabilen ve değiştirilebilen veri yapısıdır. Python'da köşeli parantezle yazılır: `meyveler = ["elma", "armut"]`.MySQLMySQL, verileri tablolarda saklayan ve SQL diliyle yönetilen açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemidir. Web sitelerinde, özellikle WordPress gibi PHP tabanlı sistemlerde çok yaygın kullanılır.

İlgili yazılar