ความแตกต่างระหว่างกองกับคิว

ความแตกต่างระหว่างกองกับคิว
ความแตกต่างระหว่างกองกับคิว

วีดีโอ: ความแตกต่างระหว่างกองกับคิว

วีดีโอ: ความแตกต่างระหว่างกองกับคิว
วีดีโอ: IDS vs IPS vs Firewall #networksecurity #firewall #IPS #IDS 2024, กรกฎาคม
Anonim

กองกับคิว

Stack เป็นรายการที่เรียงลำดับซึ่งการแทรกและการลบรายการสามารถทำได้ในปลายด้านเดียวเท่านั้นที่เรียกว่าด้านบน ด้วยเหตุนี้ สแต็กจึงถือเป็นโครงสร้างข้อมูลแบบเข้าก่อนออกก่อน (LIFO) คิวยังเป็นรายการที่เรียงลำดับซึ่งการแทรกรายการลงในปลายด้านหนึ่งเรียกว่าด้านหลัง และการลบรายการจะทำในปลายอีกด้านหนึ่งเรียกว่าด้านหน้า กลไกการแทรกและการลบนี้ทำให้โครงสร้างข้อมูลคิวเป็นแบบเข้าก่อนออกก่อน (FIFO)

กองคืออะไร

ดังที่กล่าวไว้ก่อนหน้านี้ stack เป็นโครงสร้างข้อมูลที่มีการเพิ่มและนำองค์ประกอบออกจากปลายด้านเดียวเท่านั้นที่เรียกว่าด้านบนสแต็คอนุญาตให้ดำเนินการพื้นฐานสองอย่างเท่านั้นที่เรียกว่าพุชและป๊อป การดำเนินการพุชจะเพิ่มองค์ประกอบใหม่ไปที่ด้านบนของสแต็ก การดำเนินการป๊อปจะลบองค์ประกอบออกจากด้านบนของสแต็ก หากสแต็กเต็มแล้ว เมื่อดำเนินการพุช จะถือเป็นสแต็กโอเวอร์โฟลว์ หากดำเนินการป๊อปอัพบนสแต็กที่ว่างเปล่าอยู่แล้ว จะถือเป็นสแต็กอันเดอร์โฟลว์ เนื่องจากการดำเนินการจำนวนน้อยที่สามารถทำได้บนสแต็ก จึงถือเป็นโครงสร้างข้อมูลที่จำกัด นอกจากนี้ ตามวิธีการกำหนดการดำเนินการพุชและป๊อป เป็นที่ชัดเจนว่าองค์ประกอบที่ถูกเพิ่มเข้าไปในสแต็กสุดท้ายจะออกจากสแต็กก่อน ดังนั้นสแต็กจึงถือเป็นโครงสร้างข้อมูล LIFO

ภาพ
ภาพ
ภาพ
ภาพ

คิวคืออะไร

ในคิว องค์ประกอบจะถูกเพิ่มจากด้านหลังของคิวและนำออกจากด้านหน้าของคิว เนื่องจากองค์ประกอบที่เพิ่มเข้าไปก่อนจะถูกลบออกจากคิวก่อน จึงจะรักษาลำดับ FIFO เนื่องจากลำดับของการเพิ่มและลบองค์ประกอบ คิวแสดงถึงแนวคิดของรายการชำระเงิน การดำเนินการทั่วไปที่สนับสนุนโดยคิวคือการดำเนินการ en-queue และ de-queue การดำเนินการระหว่างคิวจะเพิ่มองค์ประกอบที่ด้านหลังของคิว ในขณะที่การดำเนินการยกเลิกคิวจะลบองค์ประกอบออกจากด้านหน้าของคิว โดยทั่วไป คิวไม่มีการจำกัดจำนวนขององค์ประกอบที่สามารถเพิ่มลงในคิวนอกเหนือจากข้อจำกัดหน่วยความจำ

Stack กับ Queue ต่างกันอย่างไร

แม้ว่าทั้งกองและคิวจะเป็นรายการเรียงลำดับ แต่ก็มีความแตกต่างที่สำคัญอยู่บ้าง ในกองซ้อน การเพิ่มหรือลบรายการสามารถทำได้จากปลายด้านหนึ่งที่เรียกว่าด้านบน ในขณะที่การเพิ่มรายการจะทำจากปลายด้านหนึ่งเรียกว่าด้านหลัง และการลบรายการจะทำจากปลายอีกด้านหนึ่งเรียกว่าด้านหน้าในสแต็ก รายการที่ถูกเพิ่มลงในสแต็กสุดท้ายจะถูกลบออกจากสแต็กก่อน ดังนั้นสแต็กจึงถือเป็นโครงสร้างข้อมูล LIFO ในคิว รายการที่เพิ่มก่อนจะถูกลบออกจากคิวก่อน ดังนั้นคิวจึงถือเป็นโครงสร้างข้อมูล FIFO

ลิงค์ที่เกี่ยวข้อง:

ความแตกต่างระหว่างกองกับกอง