ในการยกตัวอย่างเล็กน้อยคุณไม่สามารถหาจำนวนที่มากที่สุดจากชุดของตัวเลขโดยไม่ตรวจสอบพวกเขาทั้งหมดซึ่งต้องใช้เวลาเชิงเส้น ไม่มีหลักฐานใหญ่ แต่มีอัลกอริทึมที่ไม่จำเป็นต้องอ่านข้อมูลทั้งหมดเสมอไป ตัวอย่างที่ดีคือการค้นหารูปแบบทั้งหมดในสตริงซึ่งอาจไม่จำเป็นต้องอ่านสตริงทั้งหมด (อัลกอริทึม Boyer-Moore) แต่ฉันไม่ควรทำซ้ำสิ่งที่ตอบไปแล้วอาจดีกว่าฉันn
อย่างไรก็ตามมีคำถามบางข้อที่เรียกร้องให้มีคำพูดเพิ่มเติมเกี่ยวกับขอบเขตล่าง (หรือขอบเขตความซับซ้อนโดยทั่วไป)
ที่จริงแล้วการเลือกสิ่งที่เป็นขั้นตอนการคำนวณเพียงครั้งเดียวนั้นไม่เกี่ยวข้องตราบใดที่ขั้นตอนการคำนวณนั้นสามารถพิจารณาได้ว่ามีขอบเขตคงที่ส่วนบน (และขอบล่าง) ผลลัพธ์ความซับซ้อนจะเหมือนกันเนื่องจากถูกกำหนดให้คงที่ การเปรียบเทียบ 3 ครั้งเป็นการดำเนินงานของหน่วยหรืออย่างใดอย่างหนึ่งเท่านั้นทำให้ไม่แตกต่างกัน
เช่นเดียวกับขนาดของข้อมูลที่ทำหน้าที่เป็นข้อมูลอ้างอิงในการประเมินราคาของการคำนวณ การใช้เลขจำนวนเต็มเดียวหรือสองจำนวนเต็มเป็นหน่วยของขนาดไม่แตกต่างกัน
อย่างไรก็ตามทั้งสองตัวเลือกจะต้องเกี่ยวข้องกัน
คุณอาจพิจารณาว่าตัวเลขเป็นหน่วยของข้อมูลเดียวหากคุณพิจารณาว่าการดำเนินการกับจำนวนเต็มเช่นการเพิ่มหรือการเปรียบเทียบเป็นการดำเนินการของหน่วย คุณอาจพิจารณาว่าเป็นหน่วยของข้อมูลเนื่องจากใช้ตัวเลขเพื่อแสดงตัวเลข แน่นอนว่าการเพิ่มและการเปรียบเทียบไม่ได้เป็นการใช้งานหน่วยอีกต่อไปและค่าใช้จ่ายนั้นขึ้นอยู่กับค่าของตัวถูกดำเนินการบันทึกn O ( บันทึกn )nlognO(logn)
การดำเนินการนั้นสามารถพิจารณาได้ว่ามีต้นทุนต่อหน่วยเกี่ยวข้องกับข้อมูลที่ถือได้ว่ามีขนาดต่อหน่วยหรือไม่ และนั่นก็ขึ้นอยู่กับว่าคุณเลือกระดับนามธรรมสำหรับรูปแบบการคำนวณของคุณ