ซอฟต์แวร์ & amp; วิศวกรรมคอมพิวเตอร์
ออกแบบ Afficent Algoriths ใน C และ C บวก: จากทฤษฎีถึงการทําให้สมบูรณ์
Table of Contents
การออกแบบอัลกอริทึมที่มีประสิทธิภาพนั้นจําเป็นสําหรับการจัดประสิทธิภาพของซอฟต์แวร์ให้เหมาะสม ซี และ ซี+ เป็นภาษาโปรแกรมที่นิยมใช้ในการใช้อัลกอริทึมที่มีประสิทธิภาพสูง
การเข้าใจ Algoritm as position
ความ ซับ ซ้อน ของ เวลา แสดง ให้ เห็น ว่า เวลา ที่ ผ่าน ไป จะ เพิ่ม ขึ้น อย่าง ไร เมื่อ มี ขนาด เข้า ไป ใน ตัว มัน ส่วน ความ ซับ ซ้อน ของ อวกาศ จะ วัด ความ จํา ที่ ใช้ อยู่.
หลัก การ ออก แบบ สําหรับ อัล กอ ทิก ที่ มี ความ รู้
การ ออก แบบ แบบ อย่าง มี ประสิทธิภาพ เกี่ยว ข้อง กับ หลัก การ หลาย อย่าง:
- [FLT: 0] –Divide และเอาชนะ : แบ่งปัญหาเป็น อนุกรรมการย่อยย่อยที่เล็ก แก้มันด้วยตัวเอง และรวมผลลัพธ์
- [FLT: 0]. สืบค้นโครงสร้างข้อมูล: ใช้โครงสร้างข้อมูลที่เหมาะสม เพื่อลดค่าใช้จ่ายเวลาและพื้นที่.
- [FLT: 0]. reducue Reundant Commitions: หลีกการคํานวณค่าเดิมหลาย ๆ ครั้ง
- [FLT: 0] เลือก Algoriths ที่ใส่ได้: [[FLT: 1) เลือกอัลกอริทึมที่ตรงกับเงื่อนไขปัญหาและขนาดป้อนข้อมูล
เคล็ดลับการเติมเต็มใน C และ C+
เมื่อ แปล อัลกอริทึม เป็น รหัส ขอ พิจารณา ข้อ แนะ ต่อ ไป นี้:
- ใช้การสร้างการวนรอบอย่างมีประสิทธิภาพ และหลีกเลี่ยงการคํานวณที่ไม่จําเป็น
- ลักษณะเฉพาะภาษาแบบไลฟราจ เช่น ไกด์ และอ้างอิงสําหรับการแสดง
- ปรับเปลี่ยนโครงสร้างห้องสมุดมาตรฐานและโครงสร้างข้อมูล สําหรับการดําเนินการที่มีประสิทธิภาพมากที่สุด
- โปรไฟล์และตราสัญลักษณ์ เพื่อระบุคอขวด
อัล กอ ทิก และ เทคโนโลยี ทั่ว ไป
อัลกอริทึมที่ใช้กันอย่างกว้างขวางใน C และ C+ รวมถึงการเรียงลําดับอัลกอริทึมเช่น สปีดคอร์ต และรวมชุด อัลกอริทึม เช่น อัลกอริทึมการค้นหาไบนารี และอัลกอริทึมกราฟ เช่น พาธที่สั้นที่สุดของดิจส์ทรา การเข้าใจรายละเอียดในการดําเนินการของพวกเขา ช่วยในการเลือกวิธีการที่ถูกต้องสําหรับปัญหาที่ให้มา