เซต (โครงสร้างข้อมูล)

เซต () หมายถึงแบบชนิดข้อมูลนามธรรมที่ไม่อนุญาตให้ซ้ำกัน แต่ไม่เรียงลำดับสมาชิก เซตจึงถูกนำมาใช้ในการตรวจสอบความซ้ำกันของข้อมูล

โครงสร้างข้อมูลที่เป็นเซต ได้แก่ ต้นไม้ค้นหาและตารางแฮช เพียงแต่ต้นไม้จะเก็บข้อมูลที่เปรียบเทียบได้ (Comparable) เท่านั้น ส่วนตารางแฮชไม่มีเงื่อนไขนี้

จุดเด่นของเซต 
เซตมีจุดเด่นในการไม่อนุญาตให้ซ้ำกัน อาจใช้ตรวจสอบการซ้ำกันของข้อมูล นอกจากนั้นแล้วเงื่อนไขการไม่ซ้ำกันนี้ ทำให้การจัดการข้อมูลนั้นจัดการได้ง่าย และเข้าถึงอย่างรวดเร็ว เช่นต้นไม้ค้นหามีความเร็วเป็น O(log n)ส่วนตารางแฮชนั้นมีความเร็วในการเข้าถึงเป็นO(1)

บริการที่มักจะมี 
 การเพิ่ม ลบข้อมูล
 การค้นหาข้อมูล

ความเร็วที่ใช้ในการทำงาน 
เนื่องจากเงื่อนไขที่ไม่อนุญาตให้สมาชิกซ้ำกัน การจัดการจึงอาจทำให้มีความเร็วในการทำงานเพิ่มขึ้นได้ ด้วยการค้นหาบางสมาชิก เช่น ต้นไม้มีการค้นหามีการเปรียบเทียบ (comparable) และตัดการค้นหาสมาชิกบางส่วนที่ไม่ใช่เป้าหมาย ส่วน ตารางแฮชนั้นเพียงแค่ค้นหาแต่สมาชิกที่มีฟังก์ชันแฮชเดียวกันเท่านั้น ซึ่งมีจำนวนน้อยมาก

มัลติเซต 
มัลติเซต  คล้ายมัลติเซตในคณิตศาสตร์ ซึ่งโครงสร้างข้อมูลนี้เหมือนโคตรงสร้างข้อมูลเซต ยกเว้นอนุญาตให้สมาชิกซ้ำกันได้

 ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส ใช้ต้นไม้ค้นหาแบบทวิภาคที่มีโครงสร้างปรับสมดุลเองได้ในการสร้างมัลติเซต
 ไลบรารีมาตรฐานของภาษาไพธอนมี collections.Counter ซึ่งทำงานคล้ายมัลติเซต

โครงสร้างข้อมูลที่เป็นตาราง 
 Collectionที่แก้ไขให้ห้ามเพิ่มข้อมูลที่ซ้ำกัน แต่จะเข้าถึงข้อมูลได้ช้า
 ตารางแฮช

ดูเพิ่ม 
 เซต

แบบชนิดข้อมูลนามธรรม
ชนิดข้อมูล