ดังนั้นผมขอชี้แจงบางสิ่งที่คุณมีความสนใจในขนาดใหญ่-O สัญกรณ์ - ที่นี้หมายถึงขอบเขตบน มันก็โอเคที่จะนับขั้นตอนมากกว่าที่คุณทำจริง โดยเฉพาะคุณสามารถปรับเปลี่ยนอัลกอริทึมเป็น
...
for (j = 0; j < n; j++)
...
ดังนั้นคุณมีลูปซ้อนกันสองวงแต่ละวงวิ่งครั้งซึ่งให้ขอบเขตบนของnโอ(n2)
แน่นอนคุณต้องการประมาณการที่ดีสำหรับขอบเขตบน ดังนั้นเมื่อเสร็จแล้วเราต้องการกำหนดขอบเขตล่าง ซึ่งหมายความว่าไม่เป็นไรที่จะนับขั้นตอนน้อยลง ดังนั้นให้พิจารณาการดัดแปลง
for (i = n/2; i < n; i++)
for (j = 0; j < n/2; j++)
sum++;
ที่นี่เราแสดงการวนซ้ำเพียงบางส่วนเท่านั้น อีกครั้งเรามีลูปซ้อนกันสองครั้ง แต่คราวนี้เรามีการวนซ้ำต่อลูปซึ่งแสดงว่าเรามีอย่างน้อยn / 2n2/ 4เพิ่มเติม ในกรณีนี้เราแสดงว่าขีด จำกัด ล่างเชิงเส้นกำกับด้วยΩ (n2). ตั้งแต่ขอบเขตล่างและบนตรงเราสามารถพูดได้n2 เป็นเส้นกำกับที่แน่นและเราเขียน Θ (n2).
หากคุณต้องการทราบข้อมูลเพิ่มเติมโปรดอ่านที่นี่