Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Applications of Stack in Data Structure (การประยุกต์ใช้ Stack)

Stack เป็นโครงสร้างข้อมูล LIFO (Last In First Out) มีการประยุกต์ใช้สำคัญหลายด้าน:

  • Expression Handling (จัดการนิพจน์):
    • Infix to Postfix/Prefix Conversion: Stack ใช้แปลงนิพจน์ Infix เป็น Postfix/Prefix ใช้ในคอมพิวเตอร์ ไม่ต้องกังวลลำดับ Operator และวงเล็บ
    • Postfix/Prefix Evaluation: หลังแปลงแล้ว ต้อง Evaluate เพื่อหาผลลัพธ์ ก็ต้องใช้ Stack เช่นกัน
  • Backtracking Procedure: Backtracking เป็นเทคนิคออกแบบอัลกอริทึม ลองทางหนึ่ง ไม่ได้กลับมาสถานะก่อนหน้า ต้องเก็บสถานะก่อนหน้าไว้ ใช้ Stack ตัวอย่าง: Knight Tour, N-Queen Problem
  • Function Call and Return: เรียกฟังก์ชันจากฟังก์ชันอื่น ต้องกลับมาที่จุดที่เรียก ต้องเก็บ Program Counter ไว้ใน Stack แล้วไปรันฟังก์ชัน จบแล้ว Pop ออกมาใส่ Program Counter กลับไปทำงานต่อ