กลับไปหน้าบทความ

อ่าน 2 นาที

ปัญหาเชิงพลวัต (อัลกอริทึม)

ในวิทยาการคอมพิวเตอร์ปัญหาแบบไดนามิกคือปัญหาที่ระบุในแง่ของข้อมูลป้อนเข้าที่เปลี่ยนแปลงไป โดยทั่วไปแล้ว ปัญหาในหมวดหมู่นี้มักจะระบุในรูปแบบต่อไปนี้:

ปัญหาเชิงพลวัต (อัลกอริทึม)

ในวิทยาการคอมพิวเตอร์ปัญหาแบบไดนามิกคือปัญหาที่ระบุในแง่ของข้อมูลป้อนเข้าที่เปลี่ยนแปลงไป โดยทั่วไปแล้ว ปัญหาในหมวดหมู่นี้มักจะระบุในรูปแบบต่อไปนี้:

  • กำหนดโครงสร้างที่ประกอบด้วยวัตถุต่างๆ จงหาอัลกอริทึมและโครงสร้างข้อมูลที่มีประสิทธิภาพเพื่อตอบคำถามบางอย่างเกี่ยวกับโครงสร้างนั้น พร้อมทั้งสนับสนุนการดำเนินการอัปเดตอย่างมีประสิทธิภาพ เช่น การแทรก การลบ หรือการแก้ไขวัตถุในโครงสร้างนั้น

โจทย์ในชั้นเรียนนี้มีระดับความซับซ้อนดังต่อไปนี้:

  • พื้นที่  – ปริมาณพื้นที่หน่วยความจำที่จำเป็นในการจัดเก็บโครงสร้างข้อมูล;
  • เวลาในการเริ่มต้น  – เวลาที่จำเป็นสำหรับการสร้างโครงสร้างข้อมูลในขั้นเริ่มต้น
  • เวลาในการแทรก  – เวลาที่ใช้ในการอัปเดตโครงสร้างข้อมูลเมื่อมีการเพิ่มองค์ประกอบอินพุตอีกหนึ่งรายการ
  • เวลาในการลบ  – เวลาที่จำเป็นสำหรับการอัปเดตโครงสร้างข้อมูลเมื่อมีการลบองค์ประกอบข้อมูลเข้า
  • เวลาในการตอบคำถาม  – เวลาที่ใช้ในการตอบคำถามนั้นๆ
  • การดำเนินการอื่นๆ ที่เฉพาะเจาะจงกับปัญหาที่กำลังกล่าวถึง

ชุดการคำนวณทั้งหมดสำหรับปัญหาแบบไดนามิกเรียกว่า อัลกอริทึม แบบ ไดนามิก

ปัญหาเชิงอัลกอริทึมหลายอย่างที่ระบุในแง่ของข้อมูลป้อนเข้าคงที่ (เรียกว่าปัญหาคงที่ในบริบทนี้และแก้ไขได้ด้วยอัลกอริทึมคงที่ ) มีเวอร์ชันแบบไดนามิกที่มีความหมาย

กรณีพิเศษ

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

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

หากอนุญาตให้ทั้งการเพิ่มและการลบเกิดขึ้นได้ บางครั้งอัลกอริทึมดังกล่าวจะถูกเรียกว่า อัลกอริทึมแบบไดนามิกอย่างสมบูรณ์ (fully dynamic )

ตัวอย่าง

องค์ประกอบสูงสุด

ปัญหาคงที่
สำหรับชุด ตัวเลข Nตัว จงหาตัวเลขที่มากที่สุด

ปัญหานี้อาจแก้ไขได้ในเวลา O( N )

ปัญหาเชิงพลวัต
สำหรับชุดตัวเลขเริ่มต้น N ตัว ให้คงค่าตัวเลขที่มากที่สุดไว้แบบไดนามิกเมื่ออนุญาตให้มีการแทรกและลบตัวเลข

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

กราฟ

เมื่อกำหนดกราฟแล้ว ให้คงพารามิเตอร์ต่างๆ ไว้ เช่น การเชื่อมต่อ ระดับสูงสุด เส้นทางที่สั้นที่สุด เป็นต้น เมื่ออนุญาตให้แทรกและลบขอบของกราฟ[ 1 ]

ตัวอย่าง:

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Dynamic_problem_(algorithms)&oldid=1351343971 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ปัญหาเชิงพลวัต (อัลกอริทึม)

ในวิทยาการคอมพิวเตอร์ปัญหาแบบไดนามิกคือปัญหาที่ระบุในแง่ของข้อมูลป้อนเข้าที่เปลี่ยนแปลงไป โดยทั่วไปแล้ว ปัญหาในหมวดหมู่นี้มักจะระบุในรูปแบบต่อไปนี้:

กรณีพิเศษ

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

กราฟ

เมื่อกำหนดกราฟแล้ว ให้คงพารามิเตอร์ต่างๆ ไว้ เช่น การเชื่อมต่อ ระดับสูงสุด เส้นทางที่สั้นที่สุด เป็นต้น เมื่ออนุญาตให้แทรกและลบขอบของกราฟ [ 1 ]

ดูเพิ่มเติม

ไดนามิเซชัน การเชื่อมต่อแบบไดนามิก โครงสร้างข้อมูลจลนศาสตร์ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Dynamic_problem_(algorithms)&oldid=1351343971 "