รายชื่อโครงสร้างข้อมูล
หน้าตา
ชนิดข้อมูล
[แก้]ชนิดข้อมูลดั้งเดิม
[แก้]- Boolean (สำหรับค่าข้อมูลบูลีน จริง/เท็จ)
- Char (สำหรับค่าข้อมูลตัวอักษร)
- Float (สำหรับค่าข้อมูลเลขจำนวนจริง)
- Double (สำหรับค่าข้อมูลเลขจำนวนจริงที่มีขนาดใหญ่กว่า float)
- int (สำหรับค่าข้อมูลเลขจำนวนเต็มหรือค่าที่มีความแม่นยำแน่นอน)
- Enumerated type
ชนิดข้อมูลประกอบ
[แก้]- อาร์เรย์ (Array)
- เรคคอร์ด (Record)
- ยูเนียน (Union)
- แท็กยูเนียน (Tagged union)
- Plain old data structure
ชนิดข้อมูลนามธรรม
[แก้]- คอนเทนเนอร์ (Container)
- แมพ/Associative array/ดิกชันนารี (Map/Associative array/Dictionary)
- มัลติแมพ(Multimap)
- รายการ (List)
- เซต (Set)
- มัลติเซต (Multiset)
- แถวคอยลำดับความสำคัญ (Priority queue)
- แถวคอย (Queue)
- ดีคิว (Deque)
- กองซ้อน (Stack)
- สตริง (String)
- ต้นไม้ (Tree)
- กราฟ (Graph)
คุณสมบัติบางประการของชนิดข้อมูลนามธรรม
โครงสร้าง | เสถียร | เป็นเอกลักษณ์ | เซลต่อโหนด |
---|---|---|---|
Bag | ไม่ใช่ | ไม่ใช่ | 1 |
Set | ไม่ใช่ | ใช่ | 1 |
List | ใช่ | ไม่ใช่ | 1 |
Map | ไม่ใช่ | ใช่ | 2 |
"เสถียร" หมายความว่าลำดับของอินพุตนั้นยังคงอยู่ โครงสร้างข้อมูลอื่น ๆ เช่น "รายการแบบโยง" และ "สแต็ก" ไม่สามารถนิยามได้ง่ายด้วยวิธีนี้ เนื่องจากมันจำเพาะการดำเนินการที่เกี่ยวข้องกับมัน
โครงสร้างข้อมูลเชิงเส้น
[แก้]อาร์เรย์
[แก้]- อาร์เรย์ (Array)
- แมพสองทาง (Bidirectional map)
- บิตอาร์เรย์ (Bit array)
- บิตฟิลด์ (Bit field)
- บิตบอร์ด (Bitboard)
- บิตแมพ (Bitmap)
- บัพเฟอร์วงกลม (Circular buffer)
- ตารางควบคุม (Control table)
- ภาพ (Image)
- อาร์เรย์พลวัติ (Dynamic array)
- บัพเฟอร์แก็ป (Gap buffer)
- ต้นไม้อาร์เรย์แบบแฮซ (Hashed array tree)
- ไฮต์แมพ (Heightmap)
- ตารางค้นหา (Lookup table)
- แมตริกซ์ (Matrix)
- อาร์เรย์แบบขนาน (Parallel array)
- อาร์เรย์แบบจัดเรียง (Sorted array)
- Sparse array
- Sparse matrix
- Iliffe vector
- อาร์เรย์ขนาดแปรผัน (Variable-length array)
รายการ
[แก้]- รายการโยงแบบคู่ (Doubly linked list)
- รายการโยง (Linked list)
- รายการจัดตัวเอง (Self-organizing list)
- รายการแบบข้าม (Skip list)
- Unrolled linked list
- วีลิสต์ (VList)
- Xor linked list
- ซิปเปอร์ (Zipper)
- Doubly connected edge list
ต้นไม้
[แก้]ต้นไม้แบบคู่
[แก้]- ต้นไม้เอเอ (AA tree)
- ต้นไม้เอวีแอล (AVL tree)
- ต้นไม้ค้นหาทวิภาค (Binary search tree)
- ต้นไม้ทวิภาค (Binary tree)
- ต้นไม้คาร์ทีเชียน (Cartesian tree)
- แพโกดา (Pagoda)
- ตันไม้ค้นหาทวิภาคแบบสุ่ม (Randomized binary search tree)
- ต้นไม้แดงดำ (Red-black tree)
- โร้ป (Rope)
- Scapegoat tree
- Self-balancing binary search tree
- Splay tree
- ต้นไม้แบบที (T-tree)
- ต้้นไม้แบบแทงโก้ (Tango tree)
- Threaded binary tree
- ท๊อปทรี (Top tree)
- ทรีพ (Treap)
- ต้นไม้น้ำหนักสมดุล (Weight-balanced tree)
B-trees
[แก้]- ต้นไม้แบบบี (B-tree)
- ต้นไม้แบบบีพลัส (B+ tree)
- ต้นไม้แบบบีมัลติพลาย (B*-tree)
- ต้นไม้บีเชพ (B sharp tree)
- แดนซิ่งทรี (Dancing tree)
- ต้นไม้แบบ 2-3 (2-3 tree)
- ต้นไม้แบบ 2-3-4 (2-3-4 tree)
- ควีป (Queap)
- ฟิวชันทรี (Fusion tree)
- ต้นไม้แบบบีเอ็กซ์ (Bx-tree)
ฮีปส์
[แก้]- ฮีป (Heap)
- ฮีปทวิภาค (Binary heap)
- Weak heap
- Binomial heap
- ฟิโบแนกซีฮีป (Fibonacci heap)
- ฮีปแบบเอเอฟ (AF-heap)
- ฮีปแบบ 2-3 (2-3 heap)
- ซอฟต์ฮีป (Soft heap)
- Pairing heap
- Leftist heap
- ทรีป (Treap)
- บีป (Beap)
- Skew heap
- Ternary heap
- ฮีปแบบดีอะเรย์ (D-ary heap)