แม่แบบ:การเปรียบเทียบโครงสร้างข้อมูลรายการ
หน้าตา
รายการโยง | แถวลำดับ | รายการ แถวลำดับ |
ต้นไม้ สมดุล |
รายการเข้าถึง ข้อมูลแบบสุ่ม | |
---|---|---|---|---|---|
การเข้าถึงข้อมูล | Θ(n) | Θ(1) | Θ(1) | Θ(log n) | Θ(log n) |
การเพิ่มและลบที่ด้านหน้า | Θ(1) | — | Θ(n) | Θ(log n) | Θ(1) |
การเพิ่มและลบที่ปลาย | Θ(1) | — | Θ(1) ถัวเฉลี่ย | Θ(log n) | Θ(log n) ในการปรับ |
การเพิ่มและลบตรงกลาง | เวลาค้นหา + Θ(1)[1][2][3] |
— | Θ(n) | Θ(log n) | Θ(log n) ในการปรับ |
พื้นที่ซึ่งเสียไป (โดยเฉลี่ย) | Θ(n) | 0 | Θ(n)[4] | Θ(n) | Θ(n) |
อ้างอิง
- ↑ Gerald Kruse. CS 240 Lecture Notes: Linked Lists Plus: Complexity Trade-offs. Juniata College. Spring 2008.
- ↑ Day 1 Keynote - Bjarne Stroustrup: C++11 Style at GoingNative 2012 on channel9.msdn.com from minute 45 or foil 44
- ↑ Number crunching: Why you should never, ever, EVER use linked-list in your code again at kjellkod.wordpress.com
- ↑ Brodnik, Andrej; Carlsson, Svante; Sedgewick, Robert; Munro, JI; Demaine, ED (1999), Resizable Arrays in Optimal Time and Space (Technical Report CS-99-09) (PDF), Department of Computer Science, University of Waterloo