ผลต่างระหว่างรุ่นของ "แถวคอยสองหน้า"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
BotKung (คุย | ส่วนร่วม)
เก็บกวาด +แจ้งรอตรวจสอบด้วยบอต
Iamion (คุย | ส่วนร่วม)
สังคายนาวิกิพีเดียไทยรอบ 2 +แทนที่ "คิว" → "คิว" ด้วย[[WP:iScript|สคริปต์
บรรทัด 1:
{{รอการตรวจสอบ}}
{{กล่องข้อมูล ประเภทข้อมูลอย่างย่อ
| ชื่อ = คิวสองหน้า
เส้น 10 ⟶ 9:
| children =
}}
'''คิวสองหน้า''' (double{{Lang-endeden|Double-Ended queueQueue:dequeDeque}}) เป็น[[ประเภทข้อมูลอย่างย่อ]]ที่เราสามารถนำข้อมูลแรกสุดหรือหลังสุดที่เราเพิ่มเข้าหรือออกก็ได้ เปรีบเสมือนเป็น[[คิว (โครงสร้างข้อมูล)|คิว]]ที่มีหัวเปิดสองด้านให้เข้า-ออกได้ นั้นเอง
 
คิวสองหน้า สามารถประยุกต์ใช้ในแนวคิด กึ่ง[[คิว (โครงสร้างข้อมูล)|คิว]]กึ่ง[[กองซ้อน]]ได้ ทำให้จัดการกับการเข้า-ออกของข้อมูลได้ทุกรูปแบบ
== จุดเด่นของคิวสองหน้า ==
คิวสองหน้า สามารถรวมแนวคิดของ[[คิว (โครงสร้างข้อมูล)|คิว]]และ[[กองซ้อน]]ได้ดังนี้
{| class="wikitable" border=1 align=center
!บริการของ'''คิวสองหน้า'''!!บริการของ[[คิว (โครงสร้างข้อมูล)|คิว]]!!บริการของ[[กองซ้อน]]
|-
| headenqueue ||enqueue||push
เส้น 34 ⟶ 33:
* ดูข้อมูลที่อยู่หัวคิว (peek)
== ความเร็วที่ใช้ในการทำงาน ==
การทำงานยังคงเป็นการจัดการการข้อมูลเข้า-ออกเหมือน[[คิว (โครงสร้างข้อมูล)|คิว]] และ [[กองซ้อน]] จึงใช้เวลาคงที่ ([[สัญกรณ์โอใหญ่|O (1)]])
== วิธีการสร้างคิวสองหน้า ==
คิวสองหน้าดัดแปลงมาจาก[[คิว|คิวธรรมดา]] โดยสำหรับ[[คิว#วิธีการสร้างคิว#คิวแถวลำดับ|คิวแถวลำดับ]] เพียงแต่การจัดการดัชนีทั้งที่ชี้ตัวแรกและตัวสุดท้ายให้เพิ่มได้ทั้งสองฝั่ง ส่วน[[คิว#วิธีการสร้างคิว#คิวรายการโยงสองชั้นวน|คิวรายการโยงสองชั้นวน]] ก็ทำได้โดยการอนุญาตให้เพิ่มทั้งก่อนและหลังปมหัว
 
== ดูเพิ่ม ==
* [[คิว (โครงสร้างข้อมูล)|คิว]]
* [[กองซ้อน]]
* [[คิวลำดับความสำคัญ]]