ทำไมต้นไม้จึงเติบโตลง?


17

ทำไมต้นไม้ถึงเติบโตลงในสาขาวิทยาศาสตร์คอมพิวเตอร์?

ฉันมีความรู้สึกว่ามันกลับไปที่เครื่องพิมพ์และโปรแกรมที่สำรวจต้นไม้ก่อนจะพิมพ์รูทและใช้ความคิดของกองกระดาษที่ไม่มีก้นเหวเพื่อแสดงระดับการเรียกซ้ำที่ไม่อาจพบได้

อ้างอิง:

ต้นไม้ขึ้นลงมีรากที่ด้านบนของหน้าและใบของมันลงมาด้านล่าง

จากON Holy Wars และข้ออ้างเพื่อสันติ

โดยการประชุมต้นไม้ถูกดึงขึ้นลง

จากบทความ Wikipediaเกี่ยวกับโครงสร้างข้อมูลต้นไม้

ต้นไม้จริงเติบโตจากรากขึ้นสู่ท้องฟ้า แต่ต้นไม้วิทยาศาสตร์คอมพิวเตอร์เติบโตจากรากลง

จากเดวิดชมิดท์เอกสารประกอบการบรรยาย


8
ทำไมบ่อพักน้ำจึงมีอยู่?
งาน

9
ต้นไม้ที่ปลูกในทุกทิศทางในธรรมชาติ ... ขึ้นลง ฯลฯ
CaffGeek

7
@ งานเพื่อป้องกันไม่ให้ฝาปิดท่อระบายตกลงมา FTFY :-)
Gary Rowe

6
@GaryRowe: ความเท็จที่แพร่กระจายอย่างกว้างขวาง ฝาปิดท่อระบายนั้นส่วนใหญ่จะเป็นทรงกลมเพราะครอบคลุมปลายท่อและท่อกลม ท่อกลมเนื่องจาก 1) กระจายความเครียดให้กับพวกเขาอย่างสม่ำเสมอและ 2) มันเพิ่มส่วนตัดให้มากที่สุดสำหรับเส้นรอบวงที่กำหนด โดยรวมแล้วจะช่วยเพิ่มความแข็งแรงและความจุของท่อที่คุณจะได้รับจากวัสดุที่ระบุ
Jerry Coffin

11
@JerryCoffin: ดังนั้น .... ต้นไม้เติบโตลงเพราะท่อกลมมีความแข็งแรงกว่าต้นไม้สี่เหลี่ยม? ;)
FrustratedWithFormsDesigner

คำตอบ:


13

แค่เดา:

โครงสร้างต้นไม้เติบโตลง (รากที่ด้านบนใบไม้ที่ด้านล่าง) เพราะผู้คนอ่านจากด้านบนของหน้าไปทางด้านล่าง นอกจากนี้หากคุณต้องวาดต้นไม้ขนาดใหญ่ที่ขยายไปหลายหน้ามันน่าอึดอัดใจที่จะขอให้ผู้อ่านข้ามหน้าไปสองสามหน้าจากนั้นก็ทำงานย้อนหลัง

ยิ่งกว่านั้นไม่ว่าการประชุมจะเริ่มด้วยเหตุผลที่อธิบายไว้ข้างต้นหรือด้วยเหตุผลอื่นเราก็ยังคงฝึกซ้อมต่อไปในวันนี้เพราะมันเป็นแบบแผน เรามีคำที่เกี่ยวข้องเช่นโหนดระดับบนสุด (หมายถึงรูท) ซึ่งจะไม่สมเหตุสมผลหากเราดึงโครงสร้างที่มีรูทที่ด้านล่าง


1
@BruceEdiger: ฉันจะเดาว่ามันเป็นเพียงแค่การประชุมที่แตกต่างกัน
FrustratedWithFormsDesigner

3
@BruceEdiger นั่นเป็นสิ่งที่แตกต่างกันมาก ระบบ Cartesian ประสานงานก่อตั้งขึ้น 375 ปีที่ผ่านมาเพื่อให้มันเป็นธรรมชาติสวยที่จะยึดติดอยู่กับการประชุมว่า ระบบกราฟิก (X11, QuickDraw, Quartz บน iOS) มักใช้ระบบพิกัดแบบพลิก ฉันไม่คิดว่ามันจะเกี่ยวข้องกับวิธีการวาดต้นไม้ของเรา
Caleb

3
IMHO สาเหตุของการพลิกพิกัดวันที่กลับไปเวลาที่มีขั้ว เนื่องจากพวกเขาแสดงข้อความที่เริ่มต้นจากมุมซ้ายบนและความละเอียดที่แท้จริงอาจแตกต่างกันไปมันจึงเป็นการตัดสินใจที่สมเหตุสมผลที่จะทำการ (0,0) เป็นมุมซ้ายบน
FUZxxl

1
@BruceEdiger พิกัดบนหน้าจอเป็นหลักแผนที่จาก (x, y) ไปยังตำแหน่งหน่วยความจำของพิกเซล / ตัวละคร ตัวควบคุมการแสดงผลวิดีโอที่รับผิดชอบการแมปหน่วยความจำกับรูปภาพเริ่มต้นที่ตำแหน่ง 0 ที่มุมซ้ายบน ดังนั้นมันจึงเป็นแผนที่ธรรมชาติที่จะมี (0,0) ที่นั่นเพราะคุณสามารถรับตำแหน่งหน่วยความจำได้ด้วย (y * 80 + x) เอกสารสำหรับคอมพิวเตอร์ 8 บิตฉันเรียนรู้สิ่งนี้ด้วย: datamuseum.dk/w/images/5/5b/RC702_Tech_Man.pdf

2
เมื่อวาดต้นไม้ด้วยมือมันเป็นการยากที่จะรู้ว่าต้องใช้พื้นที่มากแค่ไหนมันก็ยากที่จะจัดวางโน้ตอย่างประณีตโดยไม่ต้องวาดในระดับที่สูงกว่า ดังนั้นคุณมักจะวาด“ รูท” ก่อนวางมันขึ้นด้านบนเพื่อให้คุณสามารถดำเนินการต่อกับข้อความของคุณที่เคยต้นไม้บนหน้าเสร็จ
เอียน

16

การประชุมดูเหมือนจะเกิดจากอัลกอริทึมคอฟแมน - เกรแฮมซึ่งได้รับการออกแบบ:

"... สำหรับการจัดองค์ประกอบของชุดคำสั่งบางส่วนเป็นลำดับของระดับอัลกอริทึมเลือกการจัดเรียงที่องค์ประกอบที่ตามหลังมาในลำดับอื่นถูกกำหนดให้อยู่ในระดับที่ต่ำกว่าและแต่ละระดับมีจำนวน ขององค์ประกอบที่ไม่เกินความกว้างคงที่ จำกัด W "

กระดาษจากปี 1972 ( PDF ) แสดงกราฟ acyclic โดยตรงจากบนลงล่าง มันเป็นขั้นตอนสั้น ๆ เพื่อเป็นตัวแทนของต้นไม้ในลักษณะเดียวกัน

มีบางความเห็นเพิ่มเติมเกี่ยวกับการสร้างภาพนี้ในบทความนี้เป็นLayered กราฟถอนเงิน


1
ศิลปะการเขียนโปรแกรมคอมพิวเตอร์: อัลกอริทึมพื้นฐานเล่ม 1 - อัลกอริทึมพื้นฐานเผยแพร่ในปี 1968 และมีส่วนที่ 2 เกี่ยวกับต้นไม้ ใครบางคนที่เป็นเจ้าของหนังสือเล่มนี้สามารถยืนยันได้ว่าไดอะแกรมแสดงต้นไม้โตหรือไม่? ถ้าเป็นเช่นนั้นประวัติศาสตร์ชี้ให้เราเห็นว่าการประชุมเริ่มขึ้นก่อนหน้านี้ นอกจากนี้ฉันสงสัยว่าวิทยาศาสตร์คอมพิวเตอร์หยิบขึ้นมาจากคณิตศาสตร์อนุสัญญานี้แม้กระทั่งก่อนหน้านี้จากปี 1960 Wolframแสดงให้เห็นว่าต้นไม้ถูกศึกษาในปี 1857
maxpolk

3
@maxpolk Knuth ดึงต้นไม้ของเขาในแบบรูท - ท็อป - อินและกล่าวถึงการตัดสินใจของเขา (วินาที 2.3, pp. 311 ในรุ่นที่ 3) เพื่อแปลงรูปแบบรูท - แอท - ล่างสุดก่อนที่จะตีพิมพ์ฉบับพิมพ์ครั้งแรก มันเดือดลงมาถึง "วรรณกรรมส่วนใหญ่ที่มีอยู่เริ่มจากบนลงล่างและเราต้องการแบบจำลองที่สอดคล้องกันเพื่อวัตถุประสงค์ในการอภิปราย" (80% ตามการสำรวจของ Knuth)
Ross Patterson

1

การวาดภาพจากtop > downและleft > rightเป็นที่นิยมในวิทยาการคอมพิวเตอร์เพราะเป็นทิศทางเริ่มต้นในการเขียนภาษาอังกฤษ เมื่อพิจารณาว่าบทความวิทยาศาสตร์คอมพิวเตอร์ส่วนใหญ่เขียนเป็นภาษาอังกฤษโดยไม่คำนึงถึงภาษาของนักเขียนนี่จะเป็นวิธีการวาดไดอะแกรมที่แพร่หลายที่สุด

เป็นเรื่องปกติที่สุดที่ผู้อ่านภาษาอังกฤษจะอ่านกราฟจากtop > downหรือleft > rightมากกว่าตัวเลือกอื่น

ค้นหา images.google.com เพื่อค้นหาdirected tree graphและตรวจสอบผลลัพธ์ แผนภูมิต้นไม้เดียวที่ฉันพบได้ที่เพิ่มขึ้นคือแผนภาพระดับ UML และเนื่องจากเป็นแบบแผนที่ UML เลือกสำหรับคลาสแผนภาพ ทั้งหมดแผนภาพ UML อื่น ๆ ไปหรือleft > rightup > down

ฉันจะพิจารณาการอ่านกราฟต้นไม้กำกับจากdown > upที่ไม่เป็นธรรมชาติเหมือนกับการอ่านหัวข้ออีเมลที่โพสต์บน ซึ่งพูดได้อย่างสมบูรณ์ไม่เป็นธรรมชาติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.