Mengapa pohon tumbuh ke bawah?

17

Mengapa pohon tumbuh ke bawah dalam ilmu komputer?

Saya merasa itu kembali ke printer, dan bahwa sebuah program yang melintasi pohon pertama-tama mencetak root, dan menggunakan gagasan tumpukan kertas tanpa dasar untuk mengekspresikan tingkat rekursi yang tidak terbatas yang mungkin dihadapi.

Referensi:

Pohon tumbuh ke bawah, memiliki akar di bagian atas halaman dan daunnya di bawah

Dari ON HOLY WARS AND A PLEA FOR PEACE .

berdasarkan kebiasaan, pohon ditarik tumbuh ke bawah

Dari artikel Wikipedia tentang struktur data pohon.

Pohon sungguhan tumbuh dari akarnya ke atas ke langit, tetapi pohon sains komputer tumbuh dari akarnya ke bawah

Dari catatan kuliah David Schmidt .

orang banyak
sumber
8
Mengapa manholes bundar?
Pekerjaan
9
Pohon tumbuh ke segala arah di alam ... ke atas, ke bawah, dll
CaffGeek
7
@ Pekerjaan Untuk mencegah penutup lubang got masuk. FTFY. :-)
Gary Rowe
6
@GaryRowe: Kebohongan yang banyak diperbanyak. Penutup lubang bundar terutama karena menutupi ujung pipa, dan pipa bundar. Pipa berbentuk bulat karena 1) yang mendistribusikan tegangan secara merata, dan 2) memaksimalkan penampang untuk perimeter yang diberikan. Secara keseluruhan, ini memaksimalkan kekuatan dan kapasitas pipa yang bisa Anda dapatkan dari jumlah material tertentu.
Jerry Coffin
11
@JerryCoffin: Jadi .... pohon tumbuh ke bawah karena pipa bundar lebih kuat dari yang persegi? ;)
FrustratedWithFormsDesigner

Jawaban:

13

Tebakan saja:

Struktur pohon tumbuh ke bawah (akar di atas, daun di bawah) karena orang membaca dari atas halaman ke bawah. Selain itu, jika Anda menggambar pohon besar yang membentang beberapa halaman, akan terasa canggung untuk meminta pembaca melewati beberapa halaman dan kemudian bekerja mundur.

Lebih lanjut, apakah konvensi dimulai karena alasan yang dijelaskan di atas atau karena alasan lain, kami melanjutkan latihan hari ini karena konvensi. Kami memiliki istilah yang sesuai seperti simpul tingkat atas (yang berarti root) yang tidak masuk akal jika kami menggambar struktur dengan root di bagian bawah.

Caleb
sumber
1
@BruceEdiger: Saya akan menebak bahwa itu hanya turun ke konvensi yang berbeda.
FrustratedWithFormsDesigner
3
@BruceEdiger Itu sesuatu yang sangat berbeda. Sistem koordinat Cartesian didirikan 375 tahun yang lalu, jadi wajar saja jika kita tetap pada konvensi itu. Sistem grafis (X11, QuickDraw, Quartz di iOS) sering menggunakan sistem koordinat terbalik. Saya pikir itu tidak ada hubungannya dengan bagaimana kita menggambar pohon.
Caleb
3
IMHO alasan untuk membalik koordinat tanggal kembali ke waktu di mana ada terminal. Karena mereka menampilkan teks mulai dari sudut kiri atas dan resolusi aktual dapat bervariasi, itu adalah keputusan yang sangat masuk akal untuk membuat (0,0) menjadi sudut kiri atas.
FUZxxl
1
@BruceEdiger pada layar koordinat dasarnya memetakan dari (x, y) ke lokasi memori dari pixel / karakter. Pengontrol tampilan video yang bertanggung jawab untuk memetakan memori ke gambar dimulai di lokasi 0 di sudut kiri atas. Oleh karena itu pemetaan alami untuk memiliki (0,0) di sana karena Anda bisa mendapatkan lokasi memori hanya dengan (y * 80 + x). Dokumentasi untuk komputer 8-bit yang saya pelajari ini dengan: datamuseum.dk/w/images/5/5b/RC702_Tech_Man.pdf
2
Saat menggambar pohon dengan tangan, sulit untuk mengetahui berapa banyak ruang yang Anda butuhkan, juga sulit untuk mengatur catatan dengan rapi tanpa terlebih dahulu menggambar tingkat di atas. Jadi, Anda cenderung untuk menggambar "root" pertama meletakkannya di atas sehingga Anda dapat melanjutkan dengan teks Anda di mana saja pada halaman pohon selesai.
Ian
16

Konvensi ini tampaknya berasal dari Algoritma Coffman-Graham yang dirancang:

"... untuk mengatur elemen-elemen dari urutan yang diatur sebagian ke dalam urutan level. Algoritme memilih pengaturan sedemikian rupa sehingga elemen yang datang setelah yang lain dalam urutan ditugaskan ke level yang lebih rendah, dan sedemikian rupa sehingga setiap level memiliki angka elemen yang tidak melebihi batas lebar tetap W. "

Makalah mereka dari tahun 1972 ( PDF ) menunjukkan grafik asiklik diarahkan yang ditarik dari atas ke bawah. Ini adalah langkah singkat untuk mewakili pohon dengan cara yang sama.

Ada beberapa komentar lebih lanjut tentang visualisasi ini di artikel ini pada Layered Graph Drawing .

Gary Rowe
sumber
1
Seni Pemrograman Komputer: Algoritma Fundamental, Volume 1 - Algoritma Fundamental, diterbitkan pada tahun 1968, dan memiliki bagian 2 tentang pohon. Dapatkah seseorang yang memiliki buku ini memverifikasi bahwa diagram menunjukkan pepohonan tumbuh? Jika demikian, sejarah mengarahkan kita ke sebuah konvensi yang dimulai lebih awal. Juga, saya bertanya-tanya apakah ilmu komputer mengambil dari matematika konvensi ini dari bahkan lebih awal dari 1960. Wolfram menunjukkan pohon dipelajari pada tahun 1857.
maxpolk
3
@maxpolk Knuth menggambar pohon-pohonnya di root-at-top way in, dan membahas keputusannya (bagian 2.3, hlm. 311 dalam edisi ke-3) untuk mengkonversi bentuk root-di-bawah sebelum penerbitan edisi pertama. Itu bermuara pada "sebagian besar literatur yang ada top-down, dan kami membutuhkan model yang konsisten untuk tujuan diskusi" (80% menurut survei Knuth).
Ross Patterson
1

Menggambar dari top > downdan left > rightpopuler dalam ilmu komputer karena itu adalah petunjuk awal dalam bahasa Inggris tertulis. Mempertimbangkan bahwa sebagian besar makalah ilmu komputer ditulis dalam bahasa Inggris terlepas dari bahasa asli penulis, ini akan menjadi cara paling umum untuk menggambar diagram.

Sangat alami bagi pembaca bahasa Inggris untuk membaca grafik dari top > downatau left > rightdari salah satu alternatif lain.

Lakukan pencarian images.google.com directed tree graphdan tinjau hasilnya. Satu-satunya diagram pohon yang dapat saya temukan yang muncul adalah UML Class Diagram, dan hanya karena itulah konvensi yang dipilih UML untuk Class Diagram. Semua Diagram UML lainnya, pergi left > rightatau up > down.

Saya akan mempertimbangkan membaca grafik pohon langsung dari yang down > uptidak wajar seperti membaca utas yang diposkan di email; yang mengatakan benar-benar tidak wajar.


sumber