มีหลายวิธีในการประมาณค่าใช้จ่ายของอัลกอริทึมบางตัว หนึ่งในนั้นโดยใช้การนับการดำเนินการ เราสามารถประมาณความซับซ้อนของเวลาของอัลกอริทึมโดยเลือกการดำเนินการต่างๆ สิ่งเหล่านี้เป็นเหมือนการบวก การลบ ฯลฯ เราต้องตรวจสอบจำนวนการดำเนินการเหล่านี้ ความสำเร็จของวิธีนี้ขึ้นอยู่กับความสามารถของเราในการระบุการดำเนินการที่ก่อให้เกิดความซับซ้อนเกือบตลอดเวลา
สมมติว่าเรามีอาร์เรย์ขนาด n [0 ถึง n - 1] อัลกอริทึมของเราจะค้นหาดัชนีขององค์ประกอบที่ใหญ่ที่สุด เราสามารถประมาณค่าใช้จ่ายได้โดยการนับจำนวนการดำเนินการเปรียบเทียบที่ดำเนินการระหว่างองค์ประกอบแต่ละคู่ของอาร์เรย์ เราต้องจำไว้ว่าเราจะเลือกการผ่าตัดเพียงครั้งเดียว ในอัลกอริธึมนี้มีการดำเนินการอื่นๆ อีกสองสามอย่าง เช่น การเพิ่มตัวแปรการวนซ้ำ i หรือการกำหนดค่าสำหรับดัชนี เป็นต้น แต่จะไม่นำมาพิจารณาในกรณีนี้
อัลกอริทึม
getMax(arr, n): index := 0 max := arr[0] for i in range 1 to n - 1, do if arr[i] > max, then max := arr[i] index := i end if done return index
เราต้องเลือกการดำเนินการที่ดำเนินการตามระยะเวลาสูงสุดเพื่อประมาณการต้นทุน สมมติว่าเรามีอัลกอริธึมการเรียงลำดับแบบบับเบิลหนึ่งตัว และเรานับการดำเนินการสลับ จากนั้นเราต้องจำไว้ว่าเมื่อไรจะสูงสุด ซึ่งจะทำให้เราได้ผลลัพธ์สูงสุดในระหว่างการวิเคราะห์