คำถามติดแท็ก union-find

1
กำกับการค้นหายูเนี่ยน
พิจารณากราฟกำกับGGGที่หนึ่งสามารถเพิ่มขอบแบบไดนามิกและทำแบบสอบถามเฉพาะบางอย่าง ตัวอย่าง: ฟอเรสต์ disjoint-set พิจารณาชุดคำถามต่อไปนี้: arrow(u, v) equiv(u, v) find(u) คนแรกที่จะเพิ่มลูกศรจากกราฟที่สองตัดสินใจถ้ามึง↔ *วีคนสุดท้ายพบตัวแทนที่ยอมรับของชั้นสมมูลของ↔ * , เช่นR ( U )ดังกล่าวว่ายู↔ *วีหมายถึงR ( V ) = R ( U )u→vu→vu→vu↔∗vu↔∗vu↔^*v↔∗↔∗↔^*r(u)r(u)r(u)u↔∗vu↔∗vu↔^*vr(v)=r(u)r(v)=r(u)r(v)=r(u) มีความเป็นอัลกอริทึมที่รู้จักกันดีโดยใช้โครงสร้างข้อมูลป่าเคล็ดชุดดำเนินการคำสั่งเหล่านี้ในกึ่งคงตัดจำหน่ายซับซ้อนคือ(n)) หมายเหตุว่าในกรณีนี้จะดำเนินการใช้O(α(n))O(α(n))O(α(n))equivfind ตัวแปรที่ซับซ้อนมากขึ้น ตอนนี้ฉันสนใจปัญหาที่ซับซ้อนยิ่งขึ้นซึ่งทิศทางสำคัญ: arrow(u, v) confl(u, v) find(u) คนแรกที่จะเพิ่มลูกศรวินาทีตัดสินใจถ้ามีโหนดสามารถเข้าถึงได้จากทั้งและคือ←วี อันสุดท้ายควรส่งคืนออบเจคต์เช่นที่หมายถึงโดยที่ควรคำนวณได้ง่าย (เพื่อที่จะพูดคำนวณ) เป้าหมายคือการหาโครงสร้างข้อมูลที่ดีเพื่อให้การดำเนินการเหล่านี้รวดเร็วu→vu→vu→vwwwuuuvvvu→∗←∗vu→∗←∗vu→^*←^*vr(u)r(u)r(u)u→∗←∗vu→∗←∗vu→^*←^*vr(u)∙r(v)r(u)∙r(v)r(u) \bullet r(v)∙∙\bulletconfl รอบ กราฟสามารถมีรอบ ฉันไม่ทราบว่ามีวิธีในการคำนวณส่วนประกอบที่เชื่อมต่ออย่างมีประสิทธิภาพและเพิ่มขึ้นหรือไม่เพื่อพิจารณา DAG สำหรับปัญหาหลักเท่านั้น แน่นอนฉันจะขอบคุณวิธีแก้ปัญหาสำหรับ DAG ด้วย …

2
ความซับซ้อนของการค้นหาร่วมกับเส้นทางการบีบอัดโดยไม่ต้องอันดับ
วิกิพีเดียกล่าวว่าสหภาพตามลำดับโดยไม่ต้องบีบอัดเส้นทางให้ซับซ้อนเวลาตัดจำหน่ายของ O ( บันทึกn )O(log⁡n)O(\log n)และการรวมกันทั้งสองแบบโดยการจัดอันดับและการบีบอัดเส้นทางทำให้ความซับซ้อนของเวลาตัดจำหน่ายเป็น O ( α ( n ) )O(α(n))O(\alpha(n)) (ในกรณีที่ αα\alphaเป็นค่าผกผันของฟังก์ชัน Ackerman) อย่างไรก็ตามไม่ได้กล่าวถึงเวลาในการบีบอัดพา ธ ที่ไม่มีอันดับสหภาพซึ่งเป็นสิ่งที่ฉันมักจะนำไปใช้ ความซับซ้อนของเวลาที่ถูกตัดจำหน่ายของยูเนี่ยนค้นหาด้วยการเพิ่มประสิทธิภาพการบีบอัดพา ธ แต่ไม่มีสหภาพโดยการเพิ่มประสิทธิภาพอันดับคืออะไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.