Home    Previous page กรณีที่แย่ที่สุด ดีที่สุดและเฉลี่ย Next page
การวิเคราะห์กรณีที่แย่ที่สุด ดีที่สุดและกรณีเฉลี่ย (Worst-case, best-case and Average-case analysis)
เราพิจารณา Worst-case analysis ด้วยเหตุผลสามข้อ
  1. Worst-case running time เป็นขอบเขตด้านบนของเวลาที่ใช้ใน การทำงานสำหรับทุกข้อมูลเข้าที่เป็นไปได้ทั้งหมด
  2. ขั้นตอนวิธีบางประเภท เช่นการหาค่าในฐานข้อมูล database ซึ่งข้อมูลไม่อยู่ในฐานข้อมูล นั้น Worst-case มักจะเกิดขึ้นบ่อย ๆ
  3. โดยทั่วไปแล้วกรณีเฉลี่ยมักจะใช้เวลานานพอ ๆ กับ Worst-case analysis
จากการวิเคราะห์ เราพบว่า Insertion Sort ใช้ Running time เป็น O(n2) ในกรณีที่แย่ที่สุด อย่างไรก็ตามถ้าเราพิจารณาในกรณี ที่ดีที่สุดแล้ว เราพบว่า Insertion Sort ใช้ O(n) เราอาจสงสัยว่า ถ้าเราพิจารณาการจัดเรียงโดยเฉลี่ยแล้ว Insertion Sort จะมี Running time เป็นอย่างไร
การใช้กรณีเฉลี่ย เราจำเป็นต้องสมมติความน่าจะเป็นของตัวอย่างที่เกิดขึ้นซึ่งอาจมีการแจกแจงต่าง ๆ กันไป โดยทั่วไปแล้วเราจะใช้สมมติฐานที่ว่า ตัวอย่างแต่ละตัวจะมีโอกาสเกิดขึ้นเท่า ๆ กัน สำหรับการจัดเรียงข้อมูลเราสมมติว่า โอกาสจะเกิดขึ้นของการจัดเรียงตัวเลข n ตัวเท่ากัน ดังนั้นความน่าจะเป็นในการเกิดคือ 1/n!
เราสามารถหาคำตอบนี้ได้สองวิธี
  1. เราเพียงคำนวณหาเวลาที่ต้องใช้ในการเรียงของจำนวน permutation ทั้งหมดที่เป็นไปได้แล้วหารด้วย n!
  2. หรือ เราวิเคราะห์แต่ละกรณีของการจัดเรียงแบบ probabilistics แล้วจึงทำการบวกกัน

การจัดเรียงโดยใช้การเปรียบเทียบ Comparison sort
การจัดเรียงทั้งหมดที่ได้กล่าวมาเป็นการจัดเรียง โดยใช้การเปรียบเทียบระหว่างข้อมูลเป็นหลัก นั่นคือสำหรับ a และ b เราใช้ผลของการเปรียบเทียบว่า a < b, a <= b, a = b, a >= b, a > b เป็นหลัก โดยไม่มีข้อมูลส่วนอื่นช่วย สมมติว่าข้อมูลที่ต้องการนำมาจัดเรียงต่างกันทั้งหมด ดังนั้นเราจะเหลือการเปรียบเทียบแค่ a < b หรือ a > b

ต้นไม้ของการตัดสินใจ Decision tree
เราเปรียบการจัดเรียงโดยการเปรียบเทียบ ให้เป็นต้นไม้ของการตัดสินใจได้ดังนี้

  • แต่ละ internal node แทนด้วยการเปรียบเทียบระหว่างค่าของสองตัว ai: aj
  • แต่ละกิ่งเป็นผลลัพธ์ของการเปรียบเทียบระหว่างค่าทั้งสอง
  • แต่ละ leave node คือการจัดเรียงลำดับที่ถูกต้องของข้อมูล (Sorted by the permutation)
ดังนั้นการประมวลผลของโปรแกรมหรือขั้นตอนวิธีจะสอดคล้องกับ วิถี (path) จากจุดยอดของต้นไม้นี้ไปยัง ใบไม้(leaf) เราต้องได้ว่าข้อมูลการเรียงทุกแบบเป็นใบไม้ ใบหนึ่งของต้นไม้ต้นนี้ เราต้องมีใบไม้อย่างน้อยที่สุด n!

ขอบเขตล่าง Lower bound
เราจะพบว่า วิถีที่ยาวที่สุดของต้นไม้ต้นหนึ่งคือจำนวนการเปรียบเทียบที่มากที่สุดของ Worst-case analysis ดังนั้น จำนวนการเปรียบเทียบที่มากที่สุดที่เกิดขึ้น คือความสูงของต้นไม้ต้นนี้
ทบ. ต้นไม้ของตัดสินใจเพื่อการจัดเรียงข้อมูล n จำนวนมีความสูง (n lg n)
บทแทรก Heap sort และ Merge sort เป็น optimal comparison sorts.

Home | Previous | Next


© Copyright by กรุง สินอภิรมย์สราญ