เซต (โครงสร้างข้อมูล)
เซต | |
---|---|
ความสำคัญของลำดับ | ไม่เรียงลำดับความสำคัญ |
การซ้ำกันของสมาชิก | ไม่อนุญาตให้ซ้ำ |
เวลาที่ใช้ในการเข้าถึง | การไล่บางสมาชิก |
โครงสร้างที่นำไปใช้ | ต้นไม้,ตารางแฮช |
เซต (อังกฤษ: Set) หมายถึงแบบชนิดข้อมูลนามธรรมที่ไม่อนุญาตให้ซ้ำกัน แต่ไม่เรียงลำดับสมาชิก เซตจึงถูกนำมาใช้ในการตรวจสอบความซ้ำกันของข้อมูล
โครงสร้างข้อมูลที่เป็นเซต ได้แก่ ต้นไม้ค้นหาและตารางแฮช เพียงแต่ต้นไม้จะเก็บข้อมูลที่เปรียบเทียบได้ (Comparable) เท่านั้น ส่วนตารางแฮชไม่มีเงื่อนไขนี้
จุดเด่นของเซต
[แก้]เซตมีจุดเด่นในการไม่อนุญาตให้ซ้ำกัน อาจใช้ตรวจสอบการซ้ำกันของข้อมูล นอกจากนั้นแล้วเงื่อนไขการไม่ซ้ำกันนี้ ทำให้การจัดการข้อมูลนั้นจัดการได้ง่าย และเข้าถึงอย่างรวดเร็ว เช่นต้นไม้ค้นหามีความเร็วเป็น O(log n)ส่วนตารางแฮชนั้นมีความเร็วในการเข้าถึงเป็นO(1)
บริการที่มักจะมี
[แก้]- การเพิ่ม ลบข้อมูล
- การค้นหาข้อมูล
ความเร็วที่ใช้ในการทำงาน
[แก้]เนื่องจากเงื่อนไขที่ไม่อนุญาตให้สมาชิกซ้ำกัน การจัดการจึงอาจทำให้มีความเร็วในการทำงานเพิ่มขึ้นได้ ด้วยการค้นหาบางสมาชิก เช่น ต้นไม้มีการค้นหามีการเปรียบเทียบ (comparable) และตัดการค้นหาสมาชิกบางส่วนที่ไม่ใช่เป้าหมาย ส่วน ตารางแฮชนั้นเพียงแค่ค้นหาแต่สมาชิกที่มีฟังก์ชันแฮชเดียวกันเท่านั้น ซึ่งมีจำนวนน้อยมาก
มัลติเซต
[แก้]มัลติเซต อังกฤษ: multiset คล้ายมัลติเซตในคณิตศาสตร์ ซึ่งโครงสร้างข้อมูลนี้เหมือนโคตรงสร้างข้อมูลเซต ยกเว้นอนุญาตให้สมาชิกซ้ำกันได้
- ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส ใช้ต้นไม้ค้นหาแบบทวิภาคที่มีโครงสร้างปรับสมดุลเองได้ในการสร้างมัลติเซต
- ไลบรารีมาตรฐานของภาษาไพธอนมี collections.Counter ซึ่งทำงานคล้ายมัลติเซต
โครงสร้างข้อมูลที่เป็นตาราง
[แก้]- Collectionที่แก้ไขให้ห้ามเพิ่มข้อมูลที่ซ้ำกัน แต่จะเข้าถึงข้อมูลได้ช้า
- ตารางแฮช
ดูเพิ่ม
[แก้]