งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Recursion การเรียกซ้ำ. 2 การเรียกซ้ำ การเรียกซ้ำ (Recursion) วิธีการที่ฟังก์ชันใดๆ สามารถเรียกตัวเองได้ แต่ละครั้งที่ฟังก์ชันถูกเรียก จะเกิดตัวแปร อัตโนมัติชุดใหม่ที่ไม่เกี่ยวกับชุดเดิม.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Recursion การเรียกซ้ำ. 2 การเรียกซ้ำ การเรียกซ้ำ (Recursion) วิธีการที่ฟังก์ชันใดๆ สามารถเรียกตัวเองได้ แต่ละครั้งที่ฟังก์ชันถูกเรียก จะเกิดตัวแปร อัตโนมัติชุดใหม่ที่ไม่เกี่ยวกับชุดเดิม."— ใบสำเนางานนำเสนอ:

1 Recursion การเรียกซ้ำ

2 2 การเรียกซ้ำ การเรียกซ้ำ (Recursion) วิธีการที่ฟังก์ชันใดๆ สามารถเรียกตัวเองได้ แต่ละครั้งที่ฟังก์ชันถูกเรียก จะเกิดตัวแปร อัตโนมัติชุดใหม่ที่ไม่เกี่ยวกับชุดเดิม  จึงเรียกวิธีนี้อีกชื่อหนึ่งว่า การเวียนเกิด  จึงใช้เนื้อที่ในหน่วยความจำมาก และทำงานช้า วิธีการเรียกซ้ำแบบนี้ ทำให้มีรหัสคำสั่ง ขนาดกะทัดรัด เขียนและเข้าใจง่าย

3 3 ตัวอย่าง ๑ /* Recursion not used */ #include void main () { int n; for (n=10; n; n--) printf(“%d ! ”, n); printf(“\n BLAST OFF\n”); } 10 ! 9 ! 8 ! 7 ! 6 ! 5 ! 4 ! 3 ! 2 ! 1 ! BLAST OFF #include void count_down (int n) { if (n) { printf(“%d ! ”, n); /* The recursive call */ count_down(n-1); } else printf(“\nBLAST OFF\n”); } void main() { /* The initial call */ count_down(10); }

4 4 ตัวอย่าง หาผลบวกแบบ เรียกซ้ำ /* Compute sums recursively*/ int sum (int n) { if (n <= 1) return n; else return n + sum(n-1); } Function callValue returned sum(1)1 sum(2)2 + sum(1) หรือ sum(3)3 + sum(2) หรือ sum(4)4 + sum(3) หรือ

5 5 ตัวอย่าง ฟังก์ชันแบบเรียก ซ้ำที่ผิดพลาด /* Forgetting the base case*/ long factorial (long n) { return n * factorial(n-1); } /* Incomplete base case test */ long factorial (long n) { if (n == 1) return 1; else return n * factorial(n-1); } factorial (0); /* Ambiguous use of decrement operator */ long factorial (long n) { if (n <= 1) return 1; else return n * factorial (- -n); }


ดาวน์โหลด ppt Recursion การเรียกซ้ำ. 2 การเรียกซ้ำ การเรียกซ้ำ (Recursion) วิธีการที่ฟังก์ชันใดๆ สามารถเรียกตัวเองได้ แต่ละครั้งที่ฟังก์ชันถูกเรียก จะเกิดตัวแปร อัตโนมัติชุดใหม่ที่ไม่เกี่ยวกับชุดเดิม.

งานนำเสนอที่คล้ายกัน


Ads by Google