เราสามารถใช้ stack และ Queue โดยใช้ลิงค์ลิสต์ได้หรือไม่?
เราสามารถใช้ stack และ Queue โดยใช้ลิงค์ลิสต์ได้หรือไม่?

วีดีโอ: เราสามารถใช้ stack และ Queue โดยใช้ลิงค์ลิสต์ได้หรือไม่?

วีดีโอ: เราสามารถใช้ stack และ Queue โดยใช้ลิงค์ลิสต์ได้หรือไม่?
วีดีโอ: Data structures:002 bitset, list, stack และ queue 2024, พฤศจิกายน
Anonim

แต่ละโหนดมีค่าและ a ลิงค์ ไปยังโหนดถัดไป สองแอปพลิเคชั่นยอดนิยมของ รายการที่เชื่อมโยง เป็น สแต็คและคิว . คิว : คิว เป็นโครงสร้างข้อมูลที่ใช้หลักการเข้าก่อนออกก่อน (FIFO) คิวสามารถ เป็น ดำเนินการ โดย ซ้อนกัน , อาร์เรย์และ รายการที่เชื่อมโยง.

ตามลำดับ เราสามารถใช้คิวโดยใช้ลิงค์ลิสต์ได้หรือไม่?

NS คิว ได้อย่างง่ายดาย ดำเนินการโดยใช้ NS รายการที่เชื่อมโยง . อยู่คนเดียว การเชื่อมโยงรายการการใช้งาน , การเข้าคิวเกิดขึ้นที่หางของ รายการ และการจัดคิวของรายการเกิดขึ้นที่หัวของ รายการ . เราจำเป็นต้องรักษาตัวชี้ไปยังโหนดสุดท้ายเพื่อให้ O(1) มีประสิทธิภาพในการแทรก

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

เกี่ยวกับเรื่องนี้ เราสามารถใช้ stack โดยใช้ Queue ได้หรือไม่?

ดำเนินการ NS สแต็คโดยใช้ เดี่ยว คิว . เรา จะได้รับ คิว โครงสร้างข้อมูล งานคือ ใช้สแต็กโดยใช้ ให้เท่านั้น คิว โครงสร้างข้อมูล. วิธีนี้ถือว่า เราทำได้ หาขนาดของ คิว ณ จุดใดจุดหนึ่ง แนวคิดคือให้องค์ประกอบที่แทรกใหม่อยู่ด้านหลังเสมอ คิว รักษาลำดับขององค์ประกอบก่อนหน้าเหมือนเดิม

แอพพลิเคชั่นของคิวคืออะไร?

การใช้งานคิว ให้บริการคำขอบนทรัพยากรที่ใช้ร่วมกันเพียงแหล่งเดียว เช่น เครื่องพิมพ์ การจัดตารางงาน CPU เป็นต้น ในสถานการณ์จริง ระบบโทรศัพท์ของ Call Center ใช้ Queues ให้คนโทรตามคำสั่งจนกว่าตัวแทนบริการจะว่าง การจัดการอินเตอร์รัปต์ในระบบเรียลไทม์

แนะนำ: