Page 33 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 33
การวัดประสิทธิภาพและความซับซ้อนของขั้นตอนวิธี 2-23
แนวต อบก จิ กรรม 2.1.3
1. จากทก่ี ำ�หนดให้ f(x) = 6x3 – x + 8 และ g(x) = (x2 + 3)(x + 1)
f(x)
จะไดว้ ่า xl→im∞ g(x) = 6 เป็นค า่ ค งตวั ท ีไ่ ม่เทา่ กบั 0 แสดงวา่
f(x) และ g(x) เติบโตแบบเดยี วกนั ดงั น้นั f(x) = Ѳ(g(x))
2. จากทก่ี ำ�หนดให้ f(n) = (2n + 1)log n และ g(n) = 4n2 + 2n
f(n)
จะไดว้ ่า nl→im∞ g(n) = 0 แสดงว่า f(n) เตบิ โตช ้าก วา่ g(n) ดงั น้นั f(n) = O(g(n))
3. จากทกี่ �ำ หนดให้ f(n) = 5n2 + 2 และ g(n) = 25 + n
f(n)
จะได้ว ่า nl→im∞ g(n) = ∞ แสดงว่า f(n) เติบโตเร็วก ว่า g(n) ดงั นัน้ g(n) = O(f(n))
4. จากท ก่ี ำ�หนดให้ f(x) = 3x – 1 และ g(x) = 5x3 + 1
f(x)
จะได้ว า่ xl→im∞ g(x) = ∞ แสดงว ่า f(x) เตบิ โตเร็วก วา่ g(x) ดังนนั้ g(x) = O(f(x))
5. จากท กี่ ำ�หนดให้ f(n) = n! และ g(n) = 5n
ในข้อนี้ จะเห็นว่า การคำ�นวณหาค่าลิมิตทำ�ได้ยุ่งยาก ดังน้ัน ให้พิจารณาเปรียบเทียบบิ๊กโอของแต่ละ
ฟงั กช์ ันแทน จะท�ำ ให้การพ ิจารณาเปรยี บเทียบก ารเตบิ โตข องฟงั ก์ชันง ่ายและส ะดวกย ่ิงขึน้ ดังนัน้ จะไดว้ ่า
f(n) = n! = O(nn) และ g(n) = 5n = O(5n) ซง่ึ nn ย่อมโตเร็วกว่า 5n
เพราะฉ ะน้นั f(n) เตบิ โตเร็วก ว่า g(n) ดังน ัน้ g(n) = O(f(n))
6. จากท ก่ี ำ�หนดให้ f(n) = n!log n และ g(n) = n log(n!)
ในข้อนี้ จะเห็นว่า การคำ�นวณหาค่าลิมิตทำ�ได้ยุ่งยาก ดังน้ัน ให้พิจารณาเปรียบเทียบบ๊ิกโอของแต่ละ
ฟงั ก์ชนั แทน จะท ำ�ให้ก ารพ จิ ารณาเปรยี บเทียบการเตบิ โตของฟ งั ก์ชนั ง ่ายและส ะดวกยงิ่ ข น้ึ ดังนั้น จะได้ว่า
f(n) = n!log n = O(nnlog n) และ g(n) = n log(n!) = O(n2log n)
เพราะฉะนนั้ f(n) เติบโตเรว็ กว่า g(n) ดงั น ้ัน g(n) = O(f(n))
7. ให้บอกส ญั ลกั ษณบ์ ๊กิ โอของฟงั กช์ นั พรอ้ มทัง้ ร ะบวุ ่าฟังก์ชนั ไหนโตเรว็ กว่ากัน
7.1 ฟงั ก์ชนั ค ่าค งตัว เปน็ O(1)
ฟังกช์ นั ล อการ ิธมึ เปน็ O(log x)
ดงั น ั้น ฟงั กช์ นั ล อกา ร ธิ มึ โตเรว็ ก ว่าฟ ังกช์ ันค ่าค งตัว
7.2 ฟังกช์ นั เชิงเสน้ เป็น O(x)
ฟังก์ชนั ล อกา ร ธิ มึ เปน็ O(log x)
ดังน นั้ ฟังกช์ ันเชิงเสน้ โตเรว็ กวา่ ฟงั ก์ชนั ลอกา ริธึม
7.3 ฟังกช์ ันลอ็ กสแควร ์ เปน็ O(log2 x)
ฟังก์ชนั กำ�ลังสอง เปน็ O(x2)
ดังนนั้ ฟงั กช์ ันกำ�ลงั ส องโตเร็วก ว่าฟงั ก์ชนั ล อ็ กส แ ควร ์
7.4 ฟังกช์ ันลอกา ร ิธมึ เป็น O(log x)
ฟังก์ชนั เอ็กซ์โพเนนเชยี ล เป็น O(ex)
ดังน นั้ ฟังก์ชนั เอก็ ซ์โพเนนเชยี ลโตเร็วกว่าฟงั กช์ ันลอการธิ ึม