Page 23 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 23
การวัดประสิทธิภาพและความซับซ้อนของขั้นตอนวิธี 2-13
n i = n(n + 1)
2
iΣ=1
21 n2 + 21 n
=
และจากท ฤษฎีบท 2.1 สรุปได้ว ่า 1 + 2 + 3 + … + n = 12 n2 + 21 n = O(n2) นั่นเอง
ตวั อย่างท ่ี 2.7 จงหาบ ิ๊กโอข องผ ลคูณของจ �ำนวนเต็ม n ตัวแ รก
วิธีท�ำ
ผลค ูณของจ �ำนวนเต็ม n ตัวแ รก คือ
1 ⋅ 2 ⋅ 3 … ⋅ n = n! คือ ฟังก์ชันแ ฟกทอเรียล (factorial function)
ดังน ั้น ทุกๆ พจน์ในการคูณนี้จ ะม ีค ่าไม่เกิน n ดังน ั้น จะได้ว ่า
n! = 1 ⋅ 2 ⋅ 3 ⋅ ... ⋅ n
≤ n ⋅ n ⋅ n ⋅ ... ⋅ n
= nn
นั่นค ือ n! เป็น O(nn) โดยท่ี c = 1 และ n0 = 1 เป็นต ัวยืนยันความส ัมพันธ์น้ี
ตวั อย่าง 2.8 จงห าบิ๊กโอของผ ลรวม n 2i
วิธีท�ำ
iΣ=1
จากโจทย์ต ้องการให้ห าบิ๊กโอข องฟ ังก์ชัน 2 + 22 + 23 + … + 2n
เนื่องจากแ ต่ละพ จน์ในฟ ังก์ชันจะมีค ่าไม่เกิน 2n
ดังน้ัน จะได้ว่า
2 + 22 + 23 + … + 2n ≤ 2n + 2n + 2n + … + 2n = 2n n
n 2i เป็น O(2n n) ท่ี c = 1 และ n0 = 1 เป็นต ัวยืนยันค วามสัมพันธ์น้ี
เพราะฉะนั้น
iΣ=1
กจิ กรรม 2.1.1
1. จงพิจารณาว ่าฟ งั กช์ ันต อ่ ไปน เ้ีปน็ O(x) หรอื ไม่
1.1 f(x) = 100
1.2 f(x) = 3x + 14
1.3 f(x) = 4x2 + 3
2. จงพิจารณาวา่ ฟังก์ชันต ่อไปนเ้ี ปน็ O(x2) หรอื ไม่
2.1 f(x) = 23x – 19
3. จงแ22ส..23ด งffว((xxา่ ))2==x4(xx+24+3x130–)2x2 + 12 เป็น O(x4)
4. จงแสดงว่า 2x + 7 เป็น O(3x)