ผลต่างระหว่างรุ่นของ "เซต (โครงสร้างข้อมูล)"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
ล r2.6.4) (โรบอต แก้ไข: en:Set (abstract data type) |
เพิ่มเติมมัลติเซต |
||
บรรทัด 10:
|children=[[ต้นไม้ (โครงสร้างข้อมูล)|ต้นไม้]],[[ตารางแฮช]]
}}
'''เซต''' ({{Lang-en|Set}}) หมายถึง
[[โครงสร้างข้อมูล]]ที่เป็นเซต ได้แก่ [[
== จุดเด่นของเซต ==
เซตมีจุดเด่นในการไม่อนุญาตให้ซ้ำกัน อาจใช้ตรวจสอบการซ้ำกันของข้อมูล นอกจากนั้นแล้วเงื่อนไขการไม่ซ้ำกันนี้ ทำให้การจัดการข้อมูลนั้นจัดการได้ง่าย และเข้าถึงอย่างรวดเร็ว เช่นต้นไม้ค้นหามีความเร็วเป็น [[สัญกรณ์โอใหญ่|O(log n)]]ส่วนตารางแฮชนั้นมีความเร็วในการเข้าถึงเป็น[[สัญกรณ์โอใหญ่|O(1)]]
== บริการที่มักจะมี ==
* การเพิ่ม ลบข้อมูล
* การค้นหาข้อมูล
== ความเร็วที่ใช้ในการทำงาน ==
เนื่องจากเงื่อนไขที่ไม่อนุญาตให้สมาชิกซ้ำกัน การจัดการจึงอาจทำให้มีความเร็วในการทำงานเพิ่มขึ้นได้ ด้วยการค้นหาบางสมาชิก เช่น ต้นไม้มีการค้นหามีการเปรียบเทียบ (comparable) และตัดการค้นหาสมาชิกบางส่วนที่ไม่ใช่เป้าหมาย ส่วน ตารางแฮชนั้นเพียงแค่ค้นหาแต่สมาชิกที่มี[[ฟังก์ชันแฮช]]เดียวกันเท่านั้น ซึ่งมีจำนวนน้อยมาก
== มัลติเซต ==
มัลติเซต {{lang-en|multiset}} คล้าย[[มัลติเซต]]ในคณิตศาสตร์ ซึ่งโครงสร้างข้อมูลนี้เหมือนโคตรงสร้างข้อมูลเซต ยกเว้นอนุญาตให้สมาชิกซ้ำกันได้
* [[ไลบรารีแม่แบบมาตรฐาน]]ของ[[ภาษาซีพลัสพลัส]] ใช้[[ต้นไม้ค้นหาแบบทวิภาคที่มีโครงสร้างปรับสมดุลเองได้ในการสร้างมัลติเซต]]
* [[ไลบรารี]]มาตรฐานของ[[ภาษาไพธอน]]มี [http://docs.python.org/library/collections.html#collections.Counter collections.Counter] ซึ่งทำงานคล้ายมัลติเซต
== โครงสร้างข้อมูลที่เป็นตาราง ==
* [[Collection]]ที่แก้ไขให้ห้ามเพิ่มข้อมูลที่ซ้ำกัน แต่จะเข้าถึงข้อมูลได้ช้า
* [[ตารางแฮช]]
|