ผลต่างระหว่างรุ่นของ "ต้นไม้แบบบี"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
แจ้งต้องการอ้างอิงด้วยสจห. |
เก็บกวาด |
||
บรรทัด 1:
[[ไฟล์:B-tree.svg|thumb|400px|right|ต้นไม้แบบบี อันดับ 2 {{Harv|Bayer|McCreight|1972}} หรืออันดับ 5 {{Harv|Knuth|1998}}.]]
ใน
==ภาพรวม==
ปมภายในแต่ละปมของต้นไม้แบบบีจะเก็บคีย์ไว้จำนวนหนึ่ง โดยปกติ จำนวนคีย์ถูกเลือกระหว่าง <var>d</var> และ <var>2d</var> ในทางปฏิบัติคีน์กินที่ส่วนใหญ่ในปม เลข 2 ซึ่งเป็นตัวคูณ เป็นตัวรับประกันว่าปมนั้นสามารถแบ่งแยก หรือรวมได้ ถ้าปมภายในมี <var>2d</var> คีย์ การเพิ่มคีย์ให้ปมนั้นสามารถทำด้โดยการแบ่งปมที่มี <var>2d</var> คีย์ ออกเป็นปมที่มีคีย์ <var>d</var> 2 ปม และเพิ่มคีย์ให้กับปมพ่อแม่ ปมที่แบ่งแยกออกไปแต่ละปมมีจำนวนที่ต้องการน้อยที่สุดของคีย์ ในทำนองเดียวกัน ถ้าปมภายในและปมข้างเคียงของมันต่างก็มีคีย์เท่ากับ <var>d</var> คีย์ คีย์อาจถูกลบจากปมภายในโดยการรวมคีย์เข้ากับปมข้างเคียงของมัน การลบคีย์ทำให้ปมภายในมีคีย์เท่ากับ <var>2d - 1 </var> คีย์ ส่วนการรวมกับปมข้างเคียงจะเพิ่มคีย์ให้กับมัน <var>d</var> คีย์ บวกกับอีก 1 คีย์จากปมพ่อแม่ของปมข้างเคียง ผลที่ได้จะทำให้มันเป็นปมเต็มที่มี <var>2d</var> คีย์
จำนวนกิ่ง(หรือปมลูก) จากปมนั้นจะมีมากกว่าจำนวนคีย์ในปมอยู่ 1 ในต้นไม้แบบ 2-3 ปมภายในอาจเก็บหนึ่งคีย์ (โดยมีปมลูก 2 ปม) หรือมี 2 คีย์ (โดยมีปมลูก 3 ปม) บางครั้งต้นไม้แบบีถูกอธิบายโดยใช้พารามิเตอร์ <var>(d + 1) - (2d+1)</var> หรือโดยใช้ลำดับกิ่งที่สูงที่สุด
ต้นไม้แบบบีรักษาสถานะสมดุลโดยความต้องการที่[[ปมใบ]]ทุกปมอยู่มีความลึกเท่ากัน ความลึกนี้จะเพิ่มอย่างช้า ๆ เมื่ออิลีเมนต์ถูกเพิ่มเข้าไปในต้นไม้ และเป็นผลทำให้มีปมๆ หนึ่งอยู่ไกลจากปมราก
ต้นไม้แบบบีมีข้อได้เปรียบมากกว่าการทำงานด้วยวิธีอื่นๆ เมื่อเวลาที่ใช้สำหรับการเข้าถึงปมมากกว่าเวลาที่เข้าถึงภายในปม เนื่องจากความสูญเสียที่ใช้ไปสำหรับการเข้าถึงปม อาจทำให้ลดลงไปด้วยการดทำงานหลายอย่างภายในปม สิ่งนี้มักเกิดขึ้นเมื่อปมเก็บใน[[หน่วยความจำสำรอง]] เช่น [[ตัวขับดิสก์]] การทำให้จำนวนของ[[ปมลูก]]ของแต่ละ[[ปมภายใน]]มีจำนวนมากที่สุด ทำให้ความสูงของต้นไม้ลดลง และจำนวนการเข้าถึงปมที่ทำให้สูญเสียประสิทธิภาพการทำงานลดลง การทำให้ต้นไม้กลับสู่สภาวะสมดุลใหม่จึงเกิดขึ้นไม่บ่อยครั้ง จำนวนปมลูกที่มากที่สุดขึ้นกับสารสนเทศที่เก็บสำหรับปมลูกแต่ละปม และขนาดของ[[บล็อกดิสก์]]ที่เต็ม หรือขนาดที่คล้ายคลึงกันในหน่วยความจำสำรอง ในขณะที่ต้นไม้แบบบี 2-3 อธิบายได้ง่ายกว่า ต้นไม้แบบบีในทางปฏิบัติที่ใช้หน่วยความจำสำรองต้องการจำนวนปมลูกในการปรับปรุงประสิทธิภาพ
==บรรณานุกรม==
* {{Citation
| last = Bayer
| first = R.
| author-link = Rudolf Bayer
| last2 = McCreight
| first2 = E.
| author2-link = Edward M. McCreight
| title = Organization and Maintenance of Large Ordered Indexes
| journal = Acta Informatica
| volume = 1
| issue = 3
| pages = 173–189
| date =
| year = 1972
| url = http://www.minet.uni-jena.de/dbis/lehre/ws2005/dbs1/Bayer_hist.pdf
| doi =
| ref = harv}}
* {{Citation
| last = Comer
| first = Douglas
| author-link = Douglas Comer
| title = The Ubiquitous B-Tree
| journal = Computing Surveys
| volume = 11
| issue = 2
| pages = 123–137
| date = มิถุนายน 1979
| issn = 0360-0300
| url =
| doi = 10.1145/356770.356776
| ref = harv}}.
==แหล่งข้อมูลอื่น==
* [http://slady.net/java/bt/view.php B-Tree animation applet] โดย slady
[[หมวดหมู่:ต้นไม้ (โครงสร้าง)]]
|