Laymen'in terimindeki grafikler nelerdir


18

Bilgisayar bilimlerinde grafikler nedir ve ne için kullanılırlar? Laymen terimleriyle tercihen.

Wikipedia'daki tanımı okudum :

Bilgisayar biliminde, grafik, grafik ve hipergraf kavramlarını matematikten uygulamak için tasarlanan soyut bir veri türüdür.

Bir grafik veri yapısı, düğümler veya köşeler adı verilen belirli varlıkların kenarları veya yayları olarak adlandırılan sonlu (ve muhtemelen değiştirilebilir) bir dizi sıradan oluşur. Matematikte olduğu gibi, bir kenarın (x, y) x'ten y'ye işaret ettiği veya gittiği söylenir. Düğümler grafik yapısının bir parçası olabilir veya tamsayı indeksleri veya referansları ile temsil edilen harici varlıklar olabilir.

ama daha az resmi, anlaşılması daha kolay bir tanım arıyorum.


Şunu mu demek istediniz: veri yapısı?
Sistem Aşağı

1
Evet üzgünüm. Burada açıklandığı gibi grafikler en.wikipedia.org/wiki/Graph_(abstract_data_type) , sadece daha az resmi, anlaşılması daha kolay bir tanım arıyorum.
ConditionRacer

@ Justin984 Wikipedia parantez ile bağlantı kuruyor (ve birçoğu var) çalışmıyor, parantezler bağlantılar için Markdown formatıyla iyi oynamıyor. Şimdi, ileride başvurmak için lütfen soruya herhangi bir açıklama ekleyin, yorumlarda değil, o kadar görünür değildir ve bunları kaçırmak kolaydır. Yukarıdaki yorumunuzu düzenleyeceğim ...
yannis

@ Justin984 Ayrıca, Bilgisayar Bilimi Yığın Değişimi , bunun gibi sorular için Programcılar'dan biraz daha uygun olabilir . Beni yanlış anlamayın, soru burada mükemmel bir konudur ve harika cevaplar aldı, ancak temel bilgisayar bilimi kavramlarına bizden daha fazla odaklanmış bir topluluğa göz atmanız zarar vermez (yapma aynı soruyu birden fazla sitede yayınlayın, yanlış siteye gönderirseniz, otomatik olarak doğru soruya taşıyabiliriz).
yannis

Yanıtlar:


26

Mükemmel bir layman örneği Facebook olabilir . Sizin, arkadaşlarınızın ve onların arkadaşlarının ağı, topluca toplumsal grafik olarak adlandırılır .

Bu "grafiği" de insanlar kabul edilir düğümleri grafiğin ve kenarları olan dostluğu bağlantıları .

Facebook'ta arkadaş iki yönlü bir ilişkidir (A, B'nin Arkadaşı => B, A'nın arkadaşıdır), bu yüzden grafik Yönlendirilmemiş bir Grafiktir . İlişkinin yönü burada bir anlam ifade ettiğinden , Google+ veya Twitter gibi bir ağ Yönlendirilmiş Grafik olarak kabul edilir .

Düğümler arasındaki ilişkiler döngü oluşturabildiğinden , bu grafiklerin tümüne döngüsel grafikler denir . Öte yandan bir Aile Ağacı , diğer şeylerin yanı sıra Asiklik olan özel bir grafiktir, çünkü aile ağacı ilişkisinde döngü olamaz. (Teknik olarak hem yönlendirilmiş hem de döngüsel olmadığından teknik olarak Yönlü Döngüsel Grafik (DAG) olarak adlandırılır )

Bu, grafikleri içeren tüm temel jargonu kapsamalıdır, bu yüzden şimdi alandaki malzemenin geri kalanını takip edebilmelisiniz.


1
Bana facebook grafik api denir gerçekleşmedi inanamıyorum. İyi örnek!
ConditionRacer

4
Soy ağacı döngüsel değil mi?
Olmamalı

1
@MarjanVenema, soy ağacı döngüsel mi? (Bu yönlendirilmiş bir grafiktir, bu nedenle yön döngüleri belirlemede önemlidir ve muhtemelen adım ilişkileri gerçekten sayılmaz.)
huon

@dbaupp: Burada ayrıntılara girme arzum yok, bu yüzden sadece bir kelimeden bahsedeceğim: ensest.
Marjan Venema

5
@ BremenanVenema, fikrimi kaçırıyorsun. Yönlendirilmiş bir grafikteki A -> B -> C -> Abir döngü ensest benzeri bir desendir (yani bir ok çemberi), ensest verir A -> B -> Cve A -> D -> C(yani bir elmas). Bir soy ağacındaki bir döngü zaman yolculuğuna ihtiyaç duyar.
huon

16

Grafikler bilgisayar biliminde kullanılan en önemli matematiksel kavramlardan biridir.

Birçok kez grafikler gördünüz. Bir şehirden diğerine uçakla uçuş yaptığınızı düşünün. Önünüzdeki koltuk cebindeki havayolundan kaçınılmaz olarak güzel, parlak bir dergi bulacaksınız. Derginin arkasına yakın bir yerde, neredeyse her zaman bu havayolunun hizmet verdiği şehirleri daire olarak temsil eden, bu şehirleri kavisli çizgiler olarak birleştiren uçuşları gösteren bir harita bulabilirsiniz. Bu bir grafik! Daireler olarak gösterilen şehirler, bu grafiğin düğümleri ve eğri çizgiler olarak gösterilen uçuşlar kenarlardır. Grafikler sadece düğümleri ve düğümleri birleştiren şeylerdir.

Bu basit grafikleri çeşitli şekillerde süsleyebilirsiniz. Bu haritaya bakarken sadece birkaç daire ve çizgi görmek istemezsiniz. Bu şehirlerin isimleri var. Bu şehirleri etiketlemek etiketli grafikle sonuçlanır. (Kenarları da etiketleyebilirsiniz, örneğin uçuş 1234.) Bilgisayar bilimi genellikle verileri düğümlerle, bazen de kenarlarla ilişkilendirir, ancak bu yalnızca etiketin bir uzantısıdır. Hala etiketli bir grafik. Doğrudan A şehrinden B kentine, ancak B kentinden A şehrine uçamazsanız başka bir süsleme ortaya çıkar. Şimdi yönlendirilmiş bir grafiğiniz var.

Bağlantılı listeler, ağaçlar, durum geçiş şemaları ve diğer pek çok bilgisayar bilimi veri yapısı grafiklere örnektir. Çok güçlü bir kavram.


Aslında bu örneği, örneğinizde açıklanan tüm varlıkların bir grafikte (şehir, uçak, dergi, harita vb.) Köşeler olarak tasvir edilebileceğini, haritanın kendisinin tek bir tepe noktası olabileceğini belirtmek için genişletirim .
Demian Brecht

14

Daha iyi bir soru "Grafikler ne için kullanılmaz?" Bilgisayar Bilimi, pek çok açıdan, Grafikler çalışmasıdır.

Grafik, laymen'ın terimleriyle, bağlantı noktalarını temsil eden "düğümler" veya "köşeler" adı verilen keyfi soyut nesnelerin bir koleksiyonudur. Daha sonra "yollar" veya "kenarlar" yoluyla bağlanırlar. Soyut veri türü "Grafik" matematiksel "Grafik" bir uygulamasıdır. Temel olarak, alanlarınız olarak düğümleriniz ve kenarlarınız ve üzerinde yapabileceğiniz çeşitli işlemler vardır. Örneğin, grafiğin koleksiyonuna yeni bir düğüm ekleyebilirsiniz (bu, listeye, diziye veya dile bağlı olarak başka bir yapı olabilir). Daha sonra bu düğümü mevcut düğümlere bağlayabilirsiniz. İşlemler arasında grafiğin çaprazlanması, iki düğümün bir kenarı paylaşıp paylaşmadığını (bağlı) kontrol etme, düğümlerden veya kenarlardan değerler alma ve düğümden veya kenarların grafikten silinmesi de bulunur.

Kullanımla ilgili olarak, grafikler her yerde kullanılır. Ağ kurma özellikle bunlardan özellikle yararlanır, ancak Yapay Zeka, Veri Madenciliği, Oyun Geliştirme, Jeoinformatik ve diğer birçok disiplinde bulunurlar. Resmi Bilgisayar Biliminde, devleti temsil etmenin bir yolu olarak daha fazla kullanım görürler.

Bir bağlantı kümesi olarak temsil edebileceğiniz her şey etkili bir şekilde bir grafik olarak temsil edilebilir ve bu ADT aracılığıyla bir şekilde uygulanabilir.

İşte yaptığım örnek bir grafik:

Grafik Örneği


3

Grafik, yalnızca köşe adı verilen çizgilerle birbirine bağlanan bir nesne koleksiyonudur.

"Grafik" terimi, yazılım geliştirmede kullanılan birçok veri yapısının soyutlanması ve genelleştirilmesidir. Bağlantılı listeler, ikili ağaçlar ve AST'ler grafiklerdir.

Temel olarak, nesneleri birbiriyle ilişkilendiren işaretçiler içeren herhangi bir nesne koleksiyonu bir grafiktir. Bir grafiğiniz olduğunda, belirli problemleri çözmek için grafik teorisinin prensiplerini ona uygulayabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.