การใช้ "ต้นไม้" เร็วที่สุดในวิทยาการคอมพิวเตอร์คืออะไร?


18

ฉันมีคำถามประวัติเล็กน้อยคือตามที่ชื่อบอกว่าฉันกำลังมองหาการใช้ต้นไม้ในช่วงต้น (เช่นโครงสร้างข้อมูลต้นไม้ค้นหาอะไรก็ตาม) ในสาขาวิทยาศาสตร์คอมพิวเตอร์


2
มีแนวโน้มว่าการใช้คำก่อนหน้านี้ในบริบทของทฤษฎีกราฟ
Juho

น่าจะเป็นมาตั้งแต่ต้น โอ้คุณหมายความว่าชนิดของต้นไม้
200_success

คำตอบ:


13

Wikipediaกล่าวว่าการใช้ต้นไม้เป็นครั้งแรกในคณิตศาสตร์คือโดย Cayley ในปี 1857

เนื่องจากการใช้งานในวิทยาการคอมพิวเตอร์นั้นนำมาโดยตรงจากคณิตศาสตร์จึงดูเหมือนว่าพื้นฐานมากกว่าที่จะถามเมื่อพวกเขามาที่นั่น นักวิทยาศาสตร์คอมพิวเตอร์คนแรกที่ใช้ "tree" นั้นไม่ได้มีความหมายอะไรนอกจากว่านักวิทยาศาสตร์คอมพิวเตอร์คนแรกที่เรียกต้นไม้ว่า "ต้นไม้" แต่ดูเหมือนว่าชาวออสเตรเลียคนแรกที่ใช้ "ต้นไม้"


เคย์ลีอาจประกาศเกียรติคุณคำว่า "ต้นไม้" แต่มีการใช้ต้นไม้มาก่อน (เช่นโดย Kirchhoff) ในนักคณิตศาสตร์ศตวรรษที่ 19 ไม่ได้สนใจเรื่องอัลกอริธึม (ข้อยกเว้นบางประการ) ต้นไม้ไม่ได้ถูกใช้เป็นโครงสร้างข้อมูลเหมือนต้นไม้ค้นหาในงานเหล่านี้
A.Schulz

11

อ้างอิงจาก TAOCP ของ Donald Knuth ฉบับที่ 13 1 หน้า 459 เอกสารต่อไปนี้อาจถูกพิจารณาว่าเป็นหนึ่งในการปรากฏตัวครั้งแรกของต้นไม้ใน CS

  • HG Kahrimanian ความแตกต่างในการวิเคราะห์โดยคอมพิวเตอร์ดิจิตอลการประชุมสัมมนาเรื่องการเขียนโปรแกรมอัตโนมัติ 6–14, 1952
  • KE Iverson และ LR Johnson, IBM Corp. รายงานการวิจัย RC-390, RC-603 , 1961
  • AJ Perils และ C. Thornton, ต้นไม้ที่มีเกลียว , CACM 3, 195–204, 1960

ตรวจสอบ TAOCP สำหรับข้อมูลเพิ่มเติมและการอ้างอิงเพิ่มเติม


ขอบคุณที่ดูมีแนวโน้มมาก การอ้างอิงที่สองมีชื่อหรือไม่? ฉันไม่มี TAOCP อยู่ในมือฉันจะไปที่ห้องสมุดในภายหลัง
john_leo

4
นี่คือการโต้เถียงโดยผู้มีอำนาจที่อาจใช้งานได้จริงเนื่องจาก Knuth เป็นที่รู้จักกันว่าเป็นนักสะสมตัวอ้างอิงที่ขยันมาก
กราฟิลส์

INVERSON, KE สัญลักษณ์การเขียนโปรแกรมสำหรับต้นไม้ รายงานการวิจัย R - 390, ศูนย์วิจัย II3M (ม.ค. 1961) มาจากที่นี่: dl.acm.org/citation.cfm?id=366828ซึ่งอาจเป็นข้อมูลอ้างอิงที่ดี
KWillets

@ ราฟาเอลเขาเขียนหนังสือเกี่ยวกับวิทยาการคอมพิวเตอร์อย่างแท้จริงเขาไม่ได้ ...
corsiKa

6

อิสยาห์: "" และจะมีไม้เท้าออกมาจากลำต้นของเจสซี่และสาขาจะเติบโตจากรากของเขา "

ต้นไม้เป็นแบบจำลองข้อมูลสำหรับข้อมูลลำดับวงศ์ตระกูลนั้นโบราณมากอย่างแน่นอน


2
"... ในวิทยาการคอมพิวเตอร์ "
ราฟาเอล

@ ราฟาเอลแฟร์พอยต์แม้ว่ามันจะเป็นโครงสร้างข้อมูลซึ่งเป็นชื่อวิทยาศาสตร์คอมพิวเตอร์โดยชื่ออื่น
David Richerby

3
ฉันมักจะมอง Dijkstra ว่าวิทยาศาสตร์คอมพิวเตอร์เป็นเรื่องของโครงสร้างข้อมูลและอัลกอริธึมและมีส่วนเกี่ยวข้องกับคอมพิวเตอร์เพียงเล็กน้อย
Michael Kay

4

ฉันพบบทความนี้ในวารสารคอมพิวเตอร์ (BCS) ปี 1960:

PF Windley: ต้นไม้ป่าไม้และการจัดเรียงใหม่

เขาแนะนำแนวคิดของ "ต้นไม้", "อธิบายสั้น ๆ โดยดักลาส (1959)" [Sandy Douglas] "และประกอบกับ Berners-Lee" [Conway Berners-Lee พ่อของ Tim]

น่าสนใจต้นไม้ของเขามีความแม่นยำทางพฤกษศาสตร์มากกว่าต้นไม้ CS ที่ทันสมัยในขณะที่พวกเขามีรากที่ด้านล่างมากกว่าด้านบน!

http://comjnl.oxfordjournals.org/content/3/2/84.full.pdf+html?sid=a1c02733-1497-49e9-b308-a05c1dcca1df

บังเอิญการอ้างอิงครั้งสุดท้ายในกระดาษคือเอกสารที่ Windley ร่วมกับ Tony Rowland Jones และ "LF Kay" ซึ่งเป็นข้อผิดพลาดสำหรับ LR Kay พ่อของฉันผู้ดำเนินการ UCCA ระบบรับเข้ามหาวิทยาลัยกลาง ในสหราชอาณาจักร

จดหมายจาก Conway BL ไปยัง Computer Journal แสดงความคิดเห็นในบทความนี้และการตอบสนองจาก Windley ถูกแยกระหว่างหน้า 174 และ 184 ของปัญหาต่อไปนี้:

http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html


3

แคลคูลัสแลมบ์ดามีอายุย้อนไปถึงปี 1930 ไวยากรณ์คือแอปพลิเคชั่นแรกของต้นไม้โดยเฉพาะต้นไม้ไวยากรณ์ที่เป็นนามธรรม ทุก ๆ คำของ LC คือต้นไม้ ตัวแปรคือโหนดลีฟ ทั้งเงื่อนไขนามธรรมและแอปพลิเคชันประกอบด้วยข้อกำหนดอื่น ๆ ดังนั้นจึงเป็นโหนดที่ไม่ใช่แบบลีฟ

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

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