ดังที่กล่าวไว้ในคำตอบของคำถามที่เชื่อมโยง วิธีทั่วไปสำหรับอัลกอริทึมที่จะมีความซับซ้อนของเวลา O (บันทึก n) สำหรับอัลกอริทึมนั้นเพื่อ ทำงานโดยลดขนาดของอินพุตซ้ำ ๆ โดยปัจจัยคงที่ในการวนซ้ำแต่ละครั้ง.
ความหมายของ log n คืออะไร
O(บันทึก N) โดยทั่วไปหมายถึง เวลาเพิ่มขึ้นเป็นเส้นตรงในขณะที่ n เพิ่มขึ้นแบบทวีคูณ ดังนั้น หากใช้เวลา 1 วินาทีในการคำนวณองค์ประกอบ 10 รายการ ก็จะใช้เวลา 2 วินาทีในการคำนวณองค์ประกอบ 100 รายการ และใช้เวลา 3 วินาทีในการคำนวณองค์ประกอบ 1,000 รายการ เป็นต้น มันคือ O(log n) เมื่อเราแบ่งและพิชิตประเภทของอัลกอริทึม เช่น การค้นหาแบบไบนารี
O และ log n คืออะไร
สำหรับอินพุตขนาด n อัลกอริทึมของ O(n) จะดำเนินการตามขั้นตอนตามสัดส่วนของ n ในขณะที่อัลกอริทึมอื่นของ O(log(n)) จะดำเนินการตามขั้นตอน ประมาณ log(n) เห็นได้ชัดว่า log(n) มีขนาดเล็กกว่า n ดังนั้นอัลกอริทึมของความซับซ้อน O(log(n)) จึงดีกว่า
คุณคำนวณ log n อย่างไร
แนวคิดคืออัลกอริธึมคือ O(log n) หากแทนที่จะเลื่อนดูโครงสร้าง 1 ต่อ 1 คุณแบ่งโครงสร้างออกเป็นครึ่งซ้ำแล้วซ้ำอีก และทำจำนวนการดำเนินการคงที่สำหรับแต่ละการแยก อัลกอริธึมการค้นหาที่ช่องว่างคำตอบถูกแยกออกเป็น O(log n).
ล็อก n Square คืออะไร
บันทึก ^2 (
) หมายความว่ามันเป็นสัดส่วนกับ log ของ log สำหรับปัญหาเรื่องขนาด
. บันทึก(
)^ 2 หมายความว่า itสัดส่วนกับ square ของ log.