อัลกอริทึมของBorůvkaเป็นหนึ่งในอัลกอริธึมมาตรฐานสำหรับการคำนวณทรีสแปนนิ่งขั้นต่ำสำหรับกราฟด้วยm
รหัสหลอกคือ:
MST T = empty tree
Begin with each vertex as a component
While number of components > 1
For each component c
let e = minimum edge out of component c
if e is not in T
add e to T //merging the two components connected by e
เราเรียกการวนซ้ำของวงรอบนอกแต่ละรอบ ในแต่ละรอบวงด้านในจะตัดจำนวนส่วนประกอบอย่างน้อยครึ่งหนึ่ง ดังนั้นจึงมีรอบมากที่สุด ในแต่ละรอบวงด้านในจะมองแต่ละขอบอย่างมากสองครั้ง (หนึ่งครั้งจากแต่ละองค์ประกอบ) ดังนั้นเวลาการทำงานที่มากที่สุดn)
ตอนนี้สมมติว่าหลังจากแต่ละรอบเราจะลบขอบทั้งหมดที่เชื่อมต่อจุดยอดภายในส่วนประกอบเดียวกันและลบขอบที่ซ้ำกันระหว่างส่วนประกอบเพื่อให้วงด้านในดูเฉพาะจำนวนขอบของ m '<m ซึ่งเป็นขอบน้ำหนักขั้นต่ำที่ เชื่อมต่อสองคอมโพเนนต์ที่ไม่ได้เชื่อมต่อก่อนหน้านี้
การเพิ่มประสิทธิภาพนี้มีผลต่อเวลาทำงานอย่างไร
ถ้าเรารู้อย่างใดว่าในแต่ละรอบก็จะตัดจำนวนขอบในช่วงครึ่งปีแล้วเวลาทำงานจะได้รับการปรับปรุงให้ดีขึ้นอย่างมีนัยสำคัญ: (เมตร)
อย่างไรก็ตามในขณะที่การเพิ่มประสิทธิภาพจะลดจำนวนของการตรวจสอบอย่างมาก (เพียง 1 ขอบในรอบสุดท้ายและส่วนประกอบส่วนใหญ่เลือก 2 ทั่วไป) แต่ก็ไม่ชัดเจนว่าเราสามารถใช้ความจริงนี้เพื่อกระชับการวิเคราะห์ได้อย่างไร ของเวลาทำงาน