คำถามติดแท็ก search-trees

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

1
การพิสูจน์ความซับซ้อนของเวลาสำหรับการนำทรีเซ็กเมนต์ของปัญหาผลรวมระยะไกล
ผมเข้าใจว่าต้นไม้ส่วนที่สามารถใช้ในการหาผลรวมของอาร์เรย์ย่อยของ และที่สามารถทำในนี้เวลาตามกวดวิชาที่นี่AAAO (บันทึกn )O(log⁡n)\mathcal{O}(\log n) แต่ฉันไม่สามารถพิสูจน์ได้ว่าเวลาสอบถามย่อมเป็นn) ลิงค์นี้ (และอื่น ๆ อีกมากมาย) บอกว่าเราสามารถพิสูจน์ได้ว่าในแต่ละระดับจำนวนสูงสุดของโหนดประมวลผลเป็นและอื่น ๆn)O (บันทึกn )O(เข้าสู่ระบบ⁡n)\mathcal{O}(\log n)444O (4บันทึกn ) = O ( บันทึกn )O(4เข้าสู่ระบบ⁡n)=O(เข้าสู่ระบบ⁡n)\mathcal{O}(4 \log n) = \mathcal{O}(\log n) แต่เราจะพิสูจน์เรื่องนี้ได้อย่างไรโดยความขัดแย้ง? และถ้าเป็นเช่นนั้นถ้าเราจะใช้เซกเมนต์ต้นไม้เพื่อหาผลรวมของอาร์เรย์มิติที่สูงขึ้นการพิสูจน์จะขยายออกไปได้อย่างไร? ตัวอย่างเช่นฉันสามารถคิดถึงการหาผลรวมย่อยของเมทริกซ์ย่อยโดยแบ่งเมทริกซ์ดั้งเดิมออกเป็น 4 ส่วน (คล้ายกับช่วงเวลาแบ่งครึ่งในอาร์เรย์เชิงเส้น) สร้างต้นไม้เซ็กเมนต์ Quadrant แต่หลักฐานพิสูจน์ฉัน

1
การปรับปรุงช่วง + แบบสอบถามช่วงที่มีต้นไม้ที่จัดทำดัชนีไบนารี
ฉันพยายามที่จะเข้าใจว่าต้นไม้ดัชนีแบบไบนารี (ต้นไม้ fenwick) สามารถแก้ไขได้เพื่อจัดการแบบสอบถามทั้งช่วงและการปรับปรุงช่วง ฉันพบแหล่งข้อมูลต่อไปนี้: http://kartikkukreja.wordpress.com/2013/12/2/range-updates-with-bit-fenwick-tree/ http://programmingcontests.quora.com/Tutorial-Range-Updates-in-Fenwick http : //apps.topcoder.com/forums/ โมดูล = Thread & threadid = 756271 & start = 0 & MC = 4 # 1579597 แต่แม้หลังจากอ่านทั้งหมดฉันก็ไม่สามารถเข้าใจได้ว่าจุดประสงค์ของต้นไม้ดัชนีไบนารีตัวที่สองคืออะไรหรือทำอะไร มีคนช่วยอธิบายให้ฉันฟังหน่อยได้ไหมว่าต้นไม้แบบดัชนีแบบไบนารีถูกแก้ไขเพื่อจัดการสิ่งเหล่านี้อย่างไร

2
โครงสร้างข้อมูลการค้นหาที่น่าจะเป็นประโยชน์หรือไม่
SkipList ให้เหมือนกัน O ( บันทึกn )O(เข้าสู่ระบบ⁡n)O(\log n)ขอบเขตสำหรับการค้นหาเป็นโครงสร้างที่สมดุลพร้อมข้อดีที่ไม่จำเป็นต้องปรับสมดุล เนื่องจาก SkipList ถูกสร้างขึ้นโดยใช้การสุ่มเหรียญแบบพลิกกลับขอบเขตเหล่านี้จะเก็บไว้ได้ตราบใดที่โครงสร้างของ SkipList นั้น "สมดุล" เพียงพอ โดยเฉพาะกับความน่าจะเป็น1 /nค1/nค1/n^cสำหรับค่าคงที่โครงสร้างที่สมดุลอาจหายไปหลังจากใส่องค์ประกอบc > 0ค>0c>0 สมมติว่าฉันต้องการใช้รายการข้ามเป็นแบ็กเอนด์พื้นที่เก็บข้อมูลในเว็บแอปพลิเคชันที่อาจทำงานได้ตลอดไป ดังนั้นหลังจากการดำเนินการจำนวนพหุนามจำนวนหนึ่งโครงสร้างที่สมดุลของ SkipList น่าจะหายไปมาก เหตุผลของฉันถูกต้องหรือไม่ โครงสร้างการค้นหา / จัดเก็บข้อมูลความน่าจะเป็นดังกล่าวมีแอปพลิเคชันที่ใช้งานได้จริงหรือไม่และถ้าเป็นเช่นนั้นแล้วปัญหาดังกล่าวจะหลีกเลี่ยงได้อย่างไร? แก้ไข: ฉันทราบว่ามีตัวแปรที่กำหนดขึ้นของ SkipList ซึ่งมีความซับซ้อนมากกว่าที่จะนำมาใช้เปรียบเทียบกับ SkipList แบบสุ่ม (คลาสสิก)

3
ความซับซ้อนของเวลาลอการิทึมเทียบกับลอการิทึม
ในการใช้งานจริงจะมีประโยชน์อย่างชัดเจนเมื่อใช้งาน O (บันทึก( บันทึก( n ) )O(log⁡(log⁡(n))\mathcal{O}(\log(\log(n)) แทน O (บันทึก( n ) )O(log⁡(n))\mathcal{O}(\log(n)) อัลกอริทึม? นี่เป็นกรณีที่เมื่อมีการใช้งานหนึ่งต้นสำหรับต้นไม้ Van Emde Boas แทนที่จะเป็นการใช้งานแบบต้นไม้ค้นหาแบบทวิภาค แต่ตัวอย่างเช่นถ้าเราใช้n &lt;106n&lt;106n < 10^6 ในกรณีที่ดีที่สุดอัลกอริธึมลอการิทึมสองครั้งจะมีประสิทธิภาพเหนือกว่าลอการิทึมหนึ่งโดย (โดยประมาณ) ปัจจัยของ 555. และโดยทั่วไปแล้วการใช้งานนั้นยุ่งยากและซับซ้อนมากขึ้น เนื่องจากฉันชอบ BST ส่วนตัวมากกว่าต้นไม้ VEB คุณคิดอย่างไร? หนึ่งสามารถแสดงให้เห็นว่า: ∀ n &lt;106. เข้าสู่ระบบnเข้าสู่ระบบ( บันทึก( n ) )&lt; 5.26146∀n&lt;106. log⁡nlog⁡(log⁡(n))&lt;5.26146\qquad \displaystyle \forall n < 10^6.\ \frac{\log …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.