การเข้าใจความซับซ้อนของเวลาของอัลกอริทึมจําเป็นสําหรับการทําให้โปรแกรมโปรแกรม มีประสิทธิภาพใน 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).