ในวิทยาการคอมพิวเตอร์ แอสโซซิเอทีฟอาเรย์ แผนที่ ตารางสัญลักษณ์ หรือพจนานุกรมเป็นประเภทข้อมูลนามธรรมที่ประกอบด้วยชุดของคู่ (คีย์ ค่า) โดยที่แต่ละคีย์ที่เป็นไปได้จะปรากฏที่ มากที่สุดครั้งหนึ่งในคอลเลกชัน โปรดทราบว่าพจนานุกรมเรียกอีกอย่างว่าแผนที่
ปัญหาพจนานุกรมเป็นปัญหาวิทยาการคอมพิวเตอร์คลาสสิก:งานของการออกแบบโครงสร้างข้อมูลที่รักษาชุดของข้อมูลระหว่างการดำเนินการ 'ค้นหา', 'ลบ' และ 'แทรก' มีการนำพจนานุกรมไปใช้หลายประเภท
- การนำตารางแฮชไปใช้
- การใช้งานแบบ Tree-Based (การทรงตัวและต้นไม้ที่ไม่สมดุล)
- การใช้งานตามรายการ
ควรใช้พจนานุกรมเมื่อใด
พจนานุกรมไม่ใช่สัญลักษณ์แสดงหัวข้อย่อยสีเงินและไม่ควรใช้ในทุกโอกาสที่คุณได้รับ มีประโยชน์ในหลายสถานการณ์ แต่คุณต้องคำนึงถึงประเด็นต่อไปนี้ก่อนตัดสินใจใช้พจนานุกรมเพื่อแก้ปัญหา
- ส่วนแทรกโดยทั่วไปจะช้า การอ่านเร็วกว่าต้นไม้
- ใช้สิ่งเหล่านี้สำหรับการค้นหาอย่างรวดเร็ว เช่น เพื่อแคชข้อมูล ฐานข้อมูลดัชนี ตารางสัญลักษณ์ ฯลฯ
- เมื่อลำดับขององค์ประกอบไม่สำคัญ
- เมื่อคีย์องค์ประกอบทั้งหมดไม่ซ้ำกัน
วิธีการที่เราจะนำไปใช้
พจนานุกรมโดยทั่วไปมี API ที่กำหนดไว้อย่างดี เราจะใช้ API พจนานุกรมขั้นพื้นฐานตามที่กำหนดไว้ด้านล่าง -
- get(): รับองค์ประกอบด้วยคีย์อินพุต
- put(): ใส่คู่คีย์-ค่าลงในพจนานุกรม
- hasKey(): ตรวจสอบว่าคีย์มีอยู่ในพจนานุกรมหรือไม่
- ลบ(): ลบคีย์ที่กำหนดออกจากพจนานุกรม
- ล้าง(): ลบคู่คีย์-ค่าทั้งหมดออกจากพจนานุกรม
- คีย์(): ส่งกลับคีย์ทั้งหมดเป็นอาร์เรย์
- ค่า (): ส่งคืนค่าทั้งหมดเป็นอาร์เรย์