เราเขียนเมท็อดหาค่ามากสุดได้ง่ายด้วยการไล่เปรียบเทียบข้อมูลไปเรื่อยจนครบทุกตัว ถ้ามีข้อมูล n
ก็ต้องเปรียบเทียบข้อมูลเป็นจำนวน n – 1 ครั้ง แต่ถ้าเราสนใจอยากรู้ว่า แล้วตัวแปร max ที่มีไว้เก็บค่ามากสุดระหว่างการเปรียบเทียบนั้น มีการเปลี่ยนแปลงค่ากี่ครั้ง ตรงนี้จะตอบได้ไม่ค่อยชัดเจน เพราะขึ้นกับลักษณะของข้อมูลขาเข้า (ถ้าเรียงจากน้อยไปมาก ก็เปลี่ยนทุกครั้ง ถ้าเรียงจากมากมาน้อย ก็เปลี่ยนครั้งเดียว) ผลการทดลองข้างล่างนี้แสดงว่า ค่าของ max เปลี่ยนเป็นจำนวนครั้งที่เป็นฟังก์ชันในลักษณะ ........................ ของปริมาณข้อมูล (ดูจากกราฟเส้นแล้วลองเติมคำในช่องว่างเอง) แล้วก็ลองวิเคราะห์ด้วยคณิตศาสตร์ดู
HeapSort
การทำงานของ heapsort ประกอบด้วยขั้นตอนการสร้างฮีป (บรรทัดที่ 11 – 12) และขั้นตอนการลบตัวมากเพื่อสลับกับตัวหลังสุดในกลุ่ม (บรรทัดที่ 13 – 16) ขั้นตอนทั้งสองอาศัยการปรับฮีปในเมท็อด heapify การทำงานของทั้งสองขั้นตอนที่ลักษณะคล้ายกันมาก แต่หากดูจากภาระการทำงาน (จากฮิสโตแกรม) จะต่างกันมาก ถ้าไปดูที่กราฟเส้นจะพบว่าขั้นตอนทั้งสองใช้เวลาที่คล้าย ๆ กับว่าจะแปรผันโดยตรง (เป็นเชิงเส้น) กับปริมาณข้อมูล ต่างกันแค่ความชันเท่านั้น แต่ถ้าเราให้ระบบช่วยคำนวณค่าของแกน y ให้ใหม่ คือแทนที่จะนำจำนวนครั้ง (ให้ชื่อว่า c) ที่คำสั่งทำงานมาใช้ตรง ๆ ก็ลองให้หารด้วยปริมาณข้อมูล (n) ดู คือให้เป็น c/n โดยป้อนในช่องทางซ้ายล่างที่แสดงข้อความ f(n,c) = c ให้เป็น f(n,c) = c/n จะได้ผลที่เปลี่ยนไป โดยเส้นล่างจะเป็นเส้นตรงขนานกับแกน x แสดงว่า c/n เป็นค่าคงตัว นั่นคือ c แปรตาม n แบบเชิงเส้น ให้ขณะที่เส้นจะเปลี่ยนเป็น ........ ลองทำดู แล้วสรุปคร่าว ๆ ว่า c แปรเป็นฟังก์ชันอะไรของ n
Linear Search
เท่าที่เคยถาม ๆ มา พบว่า หากให้เขียนเมท็อดค้นข้อมูลว่า x ปรากฏที่ตำแหน่งใดในอาเรย์ d (โดยที่ค่าใน d เป็นอะไรก็ได้ ไม่จำเป็นต้องเรียงลำดับ) ก็มักจะเขียนให้ค้นแบบลำดับ วิ่งค้นจากซ้ายไปขวา ถ้าโชคดีก็ค้นเจอตัวแรก โชคร้ายก็ต้องค้นไปถึงตัวท้าย โดยเฉลี่ยก็น่าจะค้นไปประมาณครึ่งหนึ่งของอาเรย์ ผลการทดลองข้างล่างนี้ก็ยืนยันตามที่กล่าวมาในกรณีเฉลี่ย (สังเกตค่าของแกน x และ y ในกราฟ มีความชันประมาณ 0.5 แกน x มีค่ามากสุดที่ 100 ในขณะที่แกน y มีค่ามากสุดที่ 50)