Page 22 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 22
2-12 โครงสร้างข้อมูลและขั้นตอนวิธี
ดังน ้ัน f(x) = o(x6)
สังเกตว ่า cx4 < 4x5 ส�ำหรับท ุกๆ
จะได้ว่า cx4 < f(x) เมื่อ ค่าค งตัวบวก c และเม่ือ x0 = 0 จากบ ทนิยามล ิตเทิลโอเมกา
ดังน ั้น f(x) = ω(x4)
x > x0
5. การเตบิ โตของฟ งั กช์ ันพหุนาม
ทฤษฎีบท 2.1 การเติบโตของฟังก์ชันพหุน าม f(x) = anxn + an— 1xn— 1 + … + a1x + a0 ที่ a0, a1, …, an—1, an เป็น
จำ�นวนจริงใดๆ แล้ว f(x) = O(xn)
จากทฤษฎีบทน ้ี จะได้ว ่า ฟังก์ชันพหุน ามใดๆ สามารถหาบ ิ๊กโอเพื่ออ ธิบายข อบเขตบนข องฟังก์ชันได้อย่างง ่าย
และรวดเร็วข ้ึน ดังจ ะเห็นได้จ ากต ัวอย่างต่อไปน้ี
ตัวอยา่ งท ่ี 2.5 จงห าบิ๊กโอข องฟังก์ชันต่อไปน ้ี
1) f(x) = 3x4 + 2x2 + x — 3
2) g(x) = 2x + x — 3x6
วธิ ที �ำ
1) f(x) = 3x4 + 2x2 + x — 3
จากท ฤษฎีบท 2.1 จะได้ว ่า f(x) เป็น O(x4)
2) g(x) = 2x + x — 3x6
สามารถจัดร ูปใหม่เพ่ือให้เข้าใจง ่ายได้ จะได้
g(x) = 2x + x — 3x6 = —3x6 + 3x
จากท ฤษฎีบท 2.1 จะได้ว่า g(x) เป็น O(x6)
ตัวอยา่ งท ี่ 2.6 จงห าบ ๊ิกโอข องผ ลบวกข องจ�ำนวนเต็มบ วก n จ�ำนวนแรก
วิธีท�ำ
จากโจทย์ต ้องการให้ห าบิ๊กโอของผ ลบวก n จ�ำนวนแรก ซ่ึงห มายถ ึงฟังก์ชัน f(x) = 1 + 2 + 3 + … + n
จากบทนิย ามบ ิ๊กโอ ต้องหาต ัวยืนย ัน c และ n0 เพ่ือป ระม าณบ๊ิกโอข องฟ ังก์ชันนี้ ซึ่งส ามารถพิจารณาได้ ดังนี้
เน่ืองจากแ ต่ละพจน์ของจ�ำนวนเต็มในฟ ังก์ชันจ ะมีค ่าไม่เกิน n ให้ n0 = 1 แล้ว n > n0
ดังน ้ัน จะได้ว่า
1 + 2 + 3 + … + n ≤ n + n + n + … + n = n2
เพราะฉ ะน้ัน 1 + 2 + 3 + … + n เป็น O(n2) ท่ี c = 1 และ n0 = 1 เป็นต ัวยืนย ันค วามสัมพันธ์นี้
จากต ัวอย่างท ี่ 2.6 สามารถป ระม าณบ ิ๊กโอข องผลบ วกข องจ�ำนวนเต็ม n จ�ำนวนแรกได้อ ีกวิธีห น่ึง โดยอ าศัย
ทฤษฎีบท 2.1 ท่ีเกี่ยวกับฟ ังก์ชันพ หุน ามข้างต้นแ ละค วามรู้เร่ืองอ นุกรมได้ ดังนี้
n
ผลรวมของจ�ำนวนเต็ม n ตัวแรก คือ 1 + 2 + 3 + … + n = i จากความรู้เร่ืองอนุกรมผลรวมนี้จะมีค่า
n(n + 1) iΣ=1
เท่ากับ 2 ดังน ้ัน จะได้ว ่า