การเข้าใจความซับซ้อนของเวลาของอัลกอริทึมจําเป็นสําหรับการทําให้โปรแกรมโปรแกรม มีประสิทธิภาพใน C และ C++ ได้ดีที่สุด บทความนี้จะให้แนวทางที่ใช้งานได้จริงในการคํานวณและวิเคราะห์ประสิทธิภาพของอัลกอริทึม ช่วยให้นักพัฒนาเขียนโปรแกรมที่เร็วขึ้นและมีประสิทธิภาพมากขึ้น
พื้นฐานของเวลา
ความซับซ้อนของเวลา จะวัดว่าเวลาในการประมวลผลของอัลกอริทึมนั้นเพิ่มขึ้นอย่างไร โดยปกติจะแสดงโดยใช้สัญลักษณ์ของ O ใหญ่ ซึ่งบรรยายขอบเขตบนของอัตราการเติบโต จํานวนเชิงซ้อนจะรวม [FLT: 0] O ( ⁇ [FLTT: 1)[FT] O] (9] – log (FLT:3] [FTT: 3] [FT: 4] [FT] [FT] [FTF: 5] [FTFLLL] [FLL]] [2]].
Analycing Algorithms in C และ C++
เพื่อวิเคราะห์ความซับซ้อนของเวลาของอัลกอริทึม โปรดตรวจสอบจํานวนของการดําเนินการที่ประมวลผลเมื่อเทียบกับขนาดที่ป้อนเข้าไป ใน C และ C++, วงเวียน, การโทรซ้ํา, และประโยคเงื่อนไขต่าง ๆ เป็นปัจจัยหลัก การนับการนับการวนรอบ และความลึกที่ซ้ํากันนี้ ช่วยประมาณความซับซ้อนโดยรวมได้
ขั้น ตอน ต่าง ๆ ที่ ใช้ ได้ จริง เพื่อ การ คํานวณ
ทําตามขั้นตอนเหล่านี้เพื่อคํานวณความซับซ้อนของเวลา:
- ระบุตัวแปรขนาดนําเข้า โดยทั่วไป [FLT: 0] vn.
- วงจรการวินิจฉัย: กําหนดว่าพวกมันวิ่งกี่ครั้งเทียบกับ [FLT: 0] n.
- ลอง พิจารณา การ ทํา งาน ซ้ํา อีก: ประเมิน ความ ลึก และ การ ทํา กิ่ง.
- รวมการดําเนินการเพื่อหาเทอมสําคัญ
- แสดงรวมเป็นสัญลักษณ์ของโอใหญ่
ตัว อย่าง: การ บรรเลง เพลง ใน วง ออร์ เคส ตรา
พิจารณาฟังก์ชันง่าย ๆ ที่รวมสมาชิกทั้งหมดในอาร์เรย์
[FLT: 0]] (int i = 0; i < n; i++1)
] ผลรวม +=อาร์เรย์[i];
วงจรทํางาน [FLT: 0] n คูณ ดังนั้นเวลาซับซ้อนคือ O(n).