ในมหาวิทยาลัยที่หลักสูตรอัลกอริทึมของเราเราเรียนรู้วิธีการคำนวณความซับซ้อนของอัลกอริทึมง่าย ๆ ที่ใช้ในการฝึกซ้อมเช่นตารางแฮชหรือการเรียงลำดับอย่างรวดเร็ว
แต่ตอนนี้ในโครงการซอฟต์แวร์ขนาดใหญ่เมื่อเราต้องการทำให้มันเร็วขึ้นสิ่งที่เราทำคือดูแต่ละชิ้น - วนซ้อนกันไม่กี่ห่วงที่สามารถแทนที่ด้วยตารางแฮชที่เร็วขึ้นการค้นหาช้าที่นี่ซึ่งสามารถเร่งความเร็วด้วย เทคนิคที่แปลกใหม่ - แต่เราไม่เคยคำนวณความซับซ้อนของท่อทั้งหมดของเรา
มีวิธีใดที่จะทำเช่นนั้น? หรือคนที่อยู่ในทางปฏิบัติเพียงอาศัย "ในพื้นที่" โดยใช้อัลกอริทึมแบบเร็วเพื่อทำให้แอปพลิเคชันทั้งหมดเร็วขึ้นแทนที่จะเป็นแอปทั่วโลกที่พิจารณาแอปพลิเคชันทั้งหมด?
(ดูเหมือนว่าฉันจะไม่ขี้เกียจที่จะแสดงให้เห็นว่าถ้าคุณซ้อนอัลกอริธึมจำนวนมากซึ่งเป็นที่รู้กันว่ารวดเร็วมากด้วยตัวเองคุณก็จบลงด้วยแอปพลิเคชั่นที่รวดเร็วโดยรวม)
ฉันถามสิ่งนี้เพราะฉันได้มอบหมายให้เร่งโครงการขนาดใหญ่ที่คนอื่นเขียนซึ่งอัลกอริทึมจำนวนมากกำลังโต้ตอบและทำงานกับข้อมูลอินพุตดังนั้นจึงไม่ชัดเจนสำหรับฉันเกี่ยวกับผลกระทบของการทำอัลกอริทึมแบบเดี่ยวเร็วขึ้น แอปพลิเคชันทั้งหมด
n
เพิ่มขึ้น