Collection
จากวิกิพีเดีย สารานุกรมเสรี
- บทความนี้มีชื่อเป็นภาษาอังกฤษ เนื่องจากยังไม่มีชื่อภาษาไทยที่กระชับ เหมาะสม หรือไม่รู้วิธีอ่านในภาษาไทย
Collection | |
---|---|
ความสำคัญของลำดับ | ไม่เรียงลำดับความสำคัญ |
การซ้ำกันของสมาชิก | อนุญาตให้ซ้ำกันได้ |
วิธีการเข้าถึง(access) | ไล่ทุกสมาชิก |
เวลาที่ใช้ในการเข้าถึง | O(n) โดยมากสุด |
โครงสร้างข้อมูลที่มีรูปแบบนี้ | ทุกโครงสร้างข้อมูล |
Collection หรือ Container หมายถึง ประเภทข้อมูลอย่างย่อหรือวิธีการเก็บข้อมูล ซึ่งไม่สนใจการเรียงลำดับความสำคัญ สามารถให้ข้อมูลซ้ำได้ กล่าวคือสิ่งที่เก็บข้อมูลได้ถือว่าเป็น Collection
นิยามของ Collection เช่นนี้ส่งผลให้การเก็บข้อมูลหรือโครงสร้างข้อมูล ทุกชนิดเป็น Collection ด้วย Collection จึงอาจใช้ในความหมายว่าเป็นที่เก็บข้อมูลหรือโครงสร้างข้อมูลได้เช่น Java Collections Framework
เนื้อหา |
[แก้] จุดเด่นของ Collection
Collection เป็นโครงสร้างข้อมูลพื้นฐานที่สุด อาจมีจุดเด่นสู้ประเภทข้อมูลอย่างย่อหรือโครงสร้างข้อมูลอื่นๆที่ลงรายละเอียดไม่ได้ อาทิตารางแฮชก็เข้าถึงข้อมูลได้รวดเร็ว คิวลำดับความสำคัญก็เข้าถึงข้อมูลตัวที่สำคัญที่สุดได้รวดเร็ว แต่ถึงอย่างไรก็ตามทุกโครงสร้างข้อมูลก็มีเงื่อนไข เช่น ตารางแฮชเก็บข้อมูลซ้ำกันไม่ได้ เป็นต้น เพราะฉะนั้น Collection มีจุดเด่นที่เห็นชัดเจนที่สุดคือ มีเงื่อนไขน้อยนั่นเอง
นอกจากนั้นแล้ว เนื่องจากการมีเงื่อนไขน้อย จึงทำให้ไม่ต้องจัดการข้อมูลมาก การเพิ่มข้อมูลจึงใช้เวลาคงที่ O(1)อีกด้วย จึงเหมาะสมกับเป็นที่เก็บข้อมูลที่เก็บมากๆ แต่ใช้น้อยๆ
[แก้] บริการที่มักจะมี
- การเพิ่ม-ลบข้อมูล/ชุดข้อมูล
- การค้นหาข้อมูล
- การหาความถี่ข้อมูล (frequency)
- การทำให้ว่าง
- การทำให้เป็นแถวลำดับ (to array)
[แก้] ความเร็วที่ใช้ในการทำงาน
หากกล่าวถึง Collection เฉพาะในความหมายว่าเก็บข้อมูลที่ซ้ำกันได้ และไม่เรียงลำดับความสำคัญ เนื่องจากการไม่มีเงื่อนไขของข้อมูล ส่งผลให้มีการเก็บข้อมูลหรือการเพิ่มสมาชิกรวดเร็ว เป็นเวลาคงที่ (O(1)) แต่การเข้าถึงจะช้า เพราะไม่มีการจัดการที่ดี ต้องไล่ทุกสมาชิก จึงทำให้เสียเวลาเป็นเชิงเส้นกับจำนวนข้อมูล (O(n))
[แก้] การสร้าง Collection
การสร้าง Collection อย่างง่ายอาจสร้างด้วยแถวลำดับ โดยเพิ่มสมาชิกตรงลำดับสุดท้าย ค้นหาสมาชิกโดยการใช้วงวน ไล่ทุกสมาชิกได้
[แก้] ดูเพิ่ม
|
|
---|---|
ประเภทข้อมูลอย่างย่อ | Collection • รายการ • เซต • ต้นไม้ • กองซ้อน • คิว • คิวสองหน้า • คิวลำดับความสำคัญ • Map |
รายการ | รายการแถวลำดับ • รายการโยง |
ต้นไม้ | ต้นไม้ค้นหาแบบทวิภาค • ทรีพ •ต้นไม้บาน • ต้นไม้แดงดำ • |
คิว | คิว • คิวสองหน้า• คิวลำดับความสำคัญ • ฮีป |
Map | ตารางแฮช |
ดูเพิ่ม | ฟังก์ชันแฮช • ขั้นตอนวิธี • สัญกรณ์โอใหญ่ |