2
สแต็กสามชุดสามารถนำไปใช้ในอาร์เรย์เดียวได้หรือไม่ด้วย O (1) เวลาพุช / ป๊อป
สแต็คสองชุดสามารถดำเนินการได้อย่างมีประสิทธิภาพโดยใช้อาร์เรย์ขนาดคงที่หนึ่งรายการ: สแต็ก # 1 เริ่มจากปลายด้านซ้ายและขยายไปทางขวาและสแต็ก # 2 เริ่มจากปลายด้านขวาและขยายไปทางซ้าย เหมือนกันเป็นไปได้สำหรับสามกอง? โดยเฉพาะอย่างยิ่งมันเป็นไปได้ที่จะใช้สามกองที่มีเงื่อนไขดังต่อไปนี้: คุณมีอาร์เรย์ขนาดคงที่ที่สามารถเก็บวัตถุ N ได้ ตราบใดที่ผลรวมของขนาดสแต็คทั้งสามคือ <N ดัน () ไม่ควรล้มเหลว การดำเนินการทั้ง push () และ pop () ควรใช้เวลา O (1) นอกจากอาร์เรย์แล้วคุณสามารถใช้พื้นที่เพิ่มเติม O (1) เท่านั้น นี่คือตัวอย่างของโซลูชันที่ไม่เป็นไปตามข้อกำหนดเหล่านี้: แบ่งอาร์เรย์ออกเป็น 3 ส่วนคงที่และใช้แต่ละส่วนสำหรับสแต็ก (ละเมิด 2) คล้ายกับด้านบน แต่มีขอบเขตที่สามารถเคลื่อนย้ายได้ระหว่างสแต็ก (ละเมิด 3) การใช้งานตามรายการที่เชื่อมโยงอย่างง่าย (ละเมิด 4) ฉันจะยอมรับอัลกอริทึมที่ไม่สำคัญหรือการพิสูจน์ความเป็นไปไม่ได้แม้ว่าพวกเขาจะไม่ตรงตามเงื่อนไขทั้งหมด (1) - (4) อย่างแน่นอนเช่นอัลกอริทึมที่พุช / …