Apa perbedaan antara struktur data Pohon dan Grafik?

Secara akademis, apa perbedaan mendasar antara struktur data Pohon dan Grafik? Lalu bagaimana dengan penelusuran berbasis pohon dan penelusuran berbasis grafik?


person user918304    schedule 14.09.2011    source sumber


Jawaban (11)


Pohon hanyalah bentuk terbatas dari Grafik.

Pohon memiliki arah (hubungan induk/anak) dan tidak mengandung siklus. Mereka termasuk dalam kategori Grafik Asiklik Terarah (atau DAG). Jadi Pohon adalah DAG dengan batasan bahwa seorang anak hanya dapat memiliki satu orang tua.

Satu hal yang penting untuk diperhatikan, Pohon bukanlah struktur data rekursif. Mereka tidak dapat diimplementasikan sebagai struktur data rekursif karena keterbatasan di atas. Namun implementasi DAG apa pun, yang umumnya tidak bersifat rekursif, juga dapat digunakan. Implementasi Pohon pilihan saya adalah representasi peta terpusat dan non rekursif.

Grafik umumnya dicari luasnya terlebih dahulu atau kedalamannya terlebih dahulu. Hal yang sama berlaku untuk Pohon.

person user785287    schedule 10.10.2011
comment
Grafik sangat berguna dan dapat digunakan untuk memodelkan banyak hal. Banyak struktur data lainnya dapat dilihat sebagai grafik dengan batasan. Misalnya, daftar tertaut tunggal adalah kasus khusus DAG. - person J.R. Garcia; 27.07.2012
comment
@ user785287 apa yang Anda maksud dengan representasi peta terpusat? - person Geek; 27.03.2013
comment
Pohon bukanlah struktur data rekursif yang menyesatkan dan salah. Sebuah pohon dapat direpresentasikan dengan struktur data non-rekursif (misalnya array yang terdiri dari tepi-tepi; pohon penuh, seperti yang mendasari heap biner, dapat direpresentasikan dengan sangat kompak dalam sebuah array; ada lainnya) i>representasi ringkas dll. dll.), namun mungkin cara yang paling populer dan berguna untuk merepresentasikannya adalah dengan menggunakan struktur berbasis penunjuk rekursif. Representasi ini tidak unik untuk pohon yang tidak berakar, namun tidak penting. - person j_random_hacker; 07.07.2014
comment
Tidak terlalu. Pohon belum tentu memiliki arah. en.wikipedia.org/wiki/Tree_(graph_theory) menunjukkan contoh a pohon tanpa arah. Ini sering digunakan dalam konteks biologis. - person Michal Palczewski; 21.11.2015
comment
Artikel wikipedia untuk pohon menyatakan pohon adalah grafik tidak berarah tetapi semua jawaban di halaman ini menyatakan berarah, dapatkah seseorang menjelaskan perbedaannya? en.wikipedia.org/wiki/Tree_(graph_theory) - person harshpatel991; 09.04.2018
comment
@ harshpatel991 pohon tidak berarah dalam artian: X dan Y berada dalam relasi induk-anak tidak memiliki arah. Relasi individu, X adalah anak dari Y, dan Y adalah anak dari X, adalah relasi terarah. Arah menunjukkan hal itu; arah 'gerakan'. Pada pepohonan, gagasan tentang arah tidak terlalu dibutuhkan kecuali jika gagasan tersebut bermakna (hal ini paling sering terjadi pada pepohonan). Setidaknya begitulah cara saya melihatnya. - person Kostas Mouratidis; 11.06.2018
comment
Sebuah pohon dapat bersifat rekursif tetapi rekursinya selalu dapat diwakili oleh sebuah loop dan selalu berakhir, sedangkan rekursi pada beberapa grafik rekursif mungkin tidak berakhir dan tidak dapat direduksi menjadi sebuah loop. - person Mateja Petrovic; 13.01.2019
comment
@ harshpatel991 Poin bagus, tetapi pohon dalam konteks ilmu komputer paling sering mengacu pada pohon dalam konteks teori graf yang juga terarah dan berakar (pohon berakar terarah). Artikel yang Anda posting membicarakan hal ini di paragraf ketiga. - person Niko Bellic; 13.07.2020
comment
dapatkah Anda menjelaskan apa yang Anda maksud dengan pohon tidak dapat diimplementasikan sebagai struktur data rekursif? Merupakan hal yang umum untuk memiliki kelas simpul yang menunjuk ke daftar simpul (tipe kelas simpul yang sama) yang saya anggap rekursif. - person Charlie Parker; 07.05.2021

Daripada menjelaskan saya lebih suka menampilkannya dalam gambar.

Pohon dalam waktu nyata

Pohon dalam waktu nyata

Grafik dalam penggunaan kehidupan nyata

Grafik waktu nyata

Ya, peta dapat divisualisasikan sebagai struktur data grafik.

Melihat mereka seperti ini membuat hidup lebih mudah. Pohon digunakan di tempat dimana kita mengetahui bahwa setiap node hanya memiliki satu orang tua. Namun graf dapat memiliki beberapa pendahulu (istilah induk umumnya tidak digunakan untuk graf).

Di dunia nyata, Anda dapat merepresentasikan hampir semua hal menggunakan grafik. Saya menggunakan peta, misalnya. Jika Anda menganggap setiap kota sebagai sebuah simpul, maka kota tersebut dapat dijangkau dari beberapa titik. Titik-titik yang menuju ke simpul ini disebut pendahulu, dan titik-titik yang akan dituju oleh simpul ini disebut penerus.

diagram rangkaian listrik, denah rumah, jaringan komputer atau sistem sungai adalah beberapa contoh grafik lainnya. Banyak contoh dunia nyata yang dapat dianggap sebagai grafik.

Diagram teknisnya bisa seperti ini

Pohon :

masukkan deskripsi gambar di sini

Grafik :

masukkan deskripsi gambar di sini

Pastikan untuk merujuk ke tautan di bawah ini. Itu akan menjawab hampir semua pertanyaan Anda tentang pohon dan grafik.

Referensi :

  1. http://www.introprogramming.info/english-intro-csharp-book/read-online/chapter-17-trees-and-graphs/#_Toc362296541

  2. http://www.community-of-knowledge.de/beitrag/data-trees-as-a-means-of-presenting-complex-data-lysis/

  3. Wikipedia

person mk..    schedule 07.01.2015

Jawaban lain berguna, tetapi properti masing-masing tidak ada:

Grafik

Grafik tidak berarah, sumber gambar: Wikipedia

Grafik berarah, sumber gambar: Wikipedia

  • Terdiri dari sekumpulan simpul (atau simpul) dan sekumpulan sisi yang menghubungkan beberapa atau seluruhnya
  • Setiap sisi dapat menghubungkan dua simpul mana pun yang belum terhubung oleh sisi yang identik (dalam arah yang sama, dalam kasus graf berarah)
  • Tidak harus terhubung (tepinya tidak harus menghubungkan semua simpul menjadi satu): sebuah graf tunggal dapat terdiri dari beberapa himpunan simpul yang tidak terhubung
  • #P6#
    #P7#

Pohon

Sumber gambar: Wikipedia

  • Suatu jenis grafik
  • Verteks lebih sering disebut dengan “node”
  • Tepi diarahkan dan mewakili hubungan "adalah anak dari" (atau "adalah orang tua dari").
  • Setiap node (kecuali node root) mempunyai tepat satu parent (dan nol atau lebih anak)
  • Memiliki tepat satu simpul "root" (jika pohon memiliki setidaknya satu simpul), yang merupakan simpul tanpa orangtua
  • Harus terhubung
  • Bersifat asiklik, artinya tidak memiliki siklus: "siklus adalah sebuah jalur [urutan AKA ] dari sisi dan simpul yang simpulnya dapat dijangkau dari dirinya sendiri"

Ada beberapa tumpang tindih dalam properti di atas. Secara khusus, dua properti terakhir tersirat oleh properti lainnya. Namun semuanya tetap patut diperhatikan.

person Bernhard Barker    schedule 30.04.2019
comment
Gambar membuatnya sangat mudah dimengerti! - person Raghav Gupta; 21.10.2020

Pohon adalah graf berbentuk khusus, yaitu graf terhubung minimal dan hanya memiliki satu jalur antara dua simpul mana pun.

Dalam graf bisa terdapat lebih dari satu jalur, yaitu graf dapat memiliki jalur (tepi) satu arah atau dua arah antar node

Anda juga dapat melihat detail lebih lanjut: http://freefeast.info/difference-between/difference-between-trees-and-graphs-trees-vs-graphs/

person Bipon Biswas    schedule 08.05.2017

Pohon sudah jelas: merupakan struktur data rekursif yang terdiri dari node dengan anak.

Peta (alias kamus) adalah pasangan kunci/nilai. Berikan kunci pada peta dan itu akan mengembalikan nilai terkait.

Peta dapat diimplementasikan dengan menggunakan pepohonan, saya harap hal itu tidak membingungkan Anda.

PEMBARUAN: Membingungkan "grafik" untuk "peta" sangat membingungkan.

Grafik lebih kompleks daripada pohon. Pohon menyiratkan hubungan orang tua/anak yang rekursif. Ada cara alami untuk melintasi pohon: kedalaman-pertama, lebar-pertama, tingkat-urutan, dll.

Grafik dapat memiliki jalur satu arah atau dua arah antar node, bersifat siklik atau asiklik, dll. Saya akan menganggap grafik menjadi lebih kompleks.

Saya pikir pencarian sepintas dalam teks struktur data yang layak (misalnya "Manual Desain Algoritma") akan memberikan informasi lebih banyak dan lebih baik daripada sejumlah jawaban SO. Saya akan merekomendasikan agar Anda tidak mengambil jalur pasif dan mulai melakukan riset sendiri.

person duffymo    schedule 14.09.2011
comment
Maaf, maksud saya grafiknya, saya mengetik petanya. - person user918304; 15.09.2011
comment
Grafik yang membingungkan untuk peta sangat membingungkan. :) - person cpz; 18.07.2014
comment
Mengatakan grafik lebih kompleks daripada pohon sama saja dengan mengatakan bahwa burung gagak lebih terspesialisasi daripada burung. Bukankah seharusnya kita mengatakan bahwa Semua pohon adalah grafik, namun tidak semua grafik adalah pohon? - person dudewad; 30.06.2017
comment
Saya tidak peduli enam tahun kemudian. Tentunya Anda dapat menggunakan waktu Anda lebih baik di sini. - person duffymo; 30.06.2017

Di pohon, setiap node (kecuali node root) memiliki tepat satu node pendahulu dan satu atau dua node penerus. Itu dapat dilintasi dengan menggunakan traversal In-order, Pre-order, Post-order, dan Breadth First​. Pohon merupakan graf khusus yang tidak mempunyai siklus sehingga disebut DAG (Directed Acyclic Graph). Pohon adalah model hierarki.

Dalam graf, setiap node memiliki satu atau lebih node pendahulu dan node penerus. Grafik tersebut dilintasi dengan menggunakan algoritma Depth First Search (DFS) dan Breadth First Search (BFS). Grafik mempunyai siklus sehingga lebih kompleks daripada pohon. Grafik adalah model jaringan. Graf ada dua macam, yaitu graf berarah dan graf tidak berarah.

person Community    schedule 31.10.2018
comment
Node pohon dapat memiliki nol atau lebih node penerus, tidak hanya satu atau dua. Pohon biner membatasi jumlah penerus/anak menjadi 2, namun setiap pohon memiliki simpul daun tanpa anak. - person Aaron; 29.11.2020

Pohon pada dasarnya adalah graf tidak berarah yang tidak mengandung siklus, sehingga dapat dikatakan bahwa pohon adalah bentuk graf yang lebih terbatas. Namun pohon dan grafik memiliki penerapan yang berbeda untuk mengimplementasikan berbagai algoritma dalam pemrograman. Misalnya grafik dapat digunakan untuk model peta jalan dan pohon dapat digunakan untuk mengimplementasikan struktur data hierarki apa pun.

person patel dhruv    schedule 24.07.2020

Pohon adalah digraf sedemikian rupa sehingga:

a) dengan arah tepi dihilangkan, ia terhubung dan asiklik

  1. Anda dapat menghilangkan asumsi bahwa ini adalah asiklik
  2. Jika terbatas, Anda dapat menghilangkan asumsi bahwa itu terhubung

b) setiap simpul kecuali satu, akar, mempunyai derajat 1

c) akarnya memiliki derajat 0

  1. Jika jumlah simpulnya tidak terhingga, Anda dapat menghilangkan asumsi bahwa akar mempunyai derajat 0 atau asumsi bahwa simpul selain akar mempunyai derajat 1

Referensi: http://www.cs.cornell.edu/courses/cs2800/2016sp/lectures/lec27-29-graphtheory.pdf

person BPL    schedule 01.06.2018

Dalam matematika, grafik adalah representasi himpunan objek yang beberapa pasangan objeknya dihubungkan melalui tautan. Objek-objek yang saling berhubungan diwakili oleh abstraksi matematis yang disebut simpul, dan tautan yang menghubungkan beberapa pasang simpul disebut tepi.[1] Biasanya, suatu graf digambarkan dalam bentuk diagram sebagai sekumpulan titik-titik pada simpul-simpulnya, yang dihubungkan dengan garis-garis atau kurva-kurva pada sisi-sisinya. Grafik merupakan salah satu objek kajian dalam matematika diskrit.

person Narender sharma    schedule 06.03.2013

satu simpul akar di pohon dan hanya satu induk untuk satu anak. Namun, tidak ada konsep simpul akar. Perbedaan lainnya adalah, pohon adalah model hierarki tetapi grafik adalah model jaringan.

person Rajan Kumar Kharel    schedule 09.02.2014

Konsep sederhananya adalah Pohon tidak memiliki pembentukan siklus dan bersifat searah sedangkan Grafik membentuk siklus dan dalam beberapa kasus akan menjadi Dua Arah dan dalam kasus lain Searah.

person Velkumaran A P    schedule 13.02.2021