ผลต่างระหว่างรุ่นของ "418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย '== ข้อ 1 == [CLRS] จงเรียงฟังก์ชันเหล่านี้ เพื่อทำให้ถ้าฟ…') |
Cardcaptor (คุย | มีส่วนร่วม) (→ข้อ 1) |
||
(ไม่แสดง 15 รุ่นระหว่างกลางโดยผู้ใช้ 3 คน) | |||
แถว 1: | แถว 1: | ||
== ข้อ 1 == | == ข้อ 1 == | ||
− | [CLRS] จงเรียงฟังก์ชันเหล่านี้ เพื่อทำให้ถ้าฟังก์ชัน <math>f(n) \,</math> มาก่อน <math>g(n) \,</math> แล้ว <math>f(n) = O(g(n)) \,</math> | + | [CLRS 2-3] จงเรียงฟังก์ชันเหล่านี้ เพื่อทำให้ถ้าฟังก์ชัน <math>f(n) \,</math> มาก่อน <math>g(n) \,</math> แล้ว <math>f(n) = O(g(n)) \,</math> |
<table cellpadding="5"> | <table cellpadding="5"> | ||
<tr> | <tr> | ||
− | <td align="center"><math> (\sqrt{2})^{\ | + | <td align="center"><math> (\sqrt{2})^{\log_2 n}\,</math></td> |
<td align="center"><math> n^2 \,</math></td> | <td align="center"><math> n^2 \,</math></td> | ||
<td align="center"><math> n! \,</math></td> | <td align="center"><math> n! \,</math></td> | ||
แถว 29: | แถว 29: | ||
<td align="center"><math> (n+1)!\,</math></td> | <td align="center"><math> (n+1)!\,</math></td> | ||
<td align="center"><math> \sqrt{\ln n} \,</math></td> | <td align="center"><math> \sqrt{\ln n} \,</math></td> | ||
− | <td align="center"><math> 2^{\sqrt 2 \ | + | <td align="center"><math> 2^{\sqrt 2 \log_2 n} \,</math></td> |
<td align="center"><math> n \,</math></td> | <td align="center"><math> n \,</math></td> | ||
<td align="center"><math> 2^n \,</math></td> | <td align="center"><math> 2^n \,</math></td> | ||
<td align="center"><math> n \ln n \,</math></td> | <td align="center"><math> n \ln n \,</math></td> | ||
</tr></table> | </tr></table> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ/เฉลยข้อ 1|เฉลย]] | ||
+ | |||
+ | == ข้อ 2 == | ||
+ | [CLRS 2-4] ให้ <math>f(n) \,</math> และ <math>g(n)\,</math> เป็นฟังก์ชันบวกใดๆ จงพิสูจน์หรือไม่ก็แสดงว่าข้อความต่อไปนี้ไม่เป็นความจริงด้วยการแสดงข้อขัดแย้ง | ||
+ | # ถ้า <math>f(n) = O(g(n)) \,</math> แล้ว <math>g(n) = O(f(n))\,</math> ด้วย | ||
+ | # <math>f(n) + g(n) = O(\min(f(n), g(n))) \,</math> | ||
+ | # ถ้า <math>f(n) = O(g(n))\,</math> แล้ว <math>2^{f(n)} = O(2^{g(n)}) \,</math> | ||
+ | # <math>f(n) = O((f(n))^2)\,</math> | ||
+ | # ถ้า <math>f(n) = O(g(n)) \,</math> แล้ว <math>g(n) = \Omega(f(n)) \,</math> | ||
+ | # <math>f(n) = \Theta(f(n/2))\,</math> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ/เฉลยข้อ 2|เฉลย]] | ||
+ | |||
+ | == ข้อ 3 == | ||
+ | [CLRS 4-1] จงหา Big-Theta ของฟังก์ชันต่อไปนี้ | ||
+ | # <math>T(n) = 2T(n/2) + n^3 \,</math> | ||
+ | # <math>T(n) = T(9n/10) + n \,</math> | ||
+ | # <math>T(n) = 16T(n/4) + n^2 \,</math> | ||
+ | # <math>T(n) = 7T(n/3) + n^2 \,</math> | ||
+ | # <math>T(n) = 7T(n/2) + n^2 \,</math> | ||
+ | # <math>T(n) = 2T(n/4) + \sqrt{n} \,</math> | ||
+ | # <math>T(n) = T(n-1) + n \,</math> | ||
+ | # <math>T(n) = T(\sqrt{n}) + 1 \,</math> | ||
+ | # <math>T(n) = 3T(n/2) + n \log n \,</math> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ/เฉลยข้อ 3|เฉลย]] | ||
+ | |||
+ | == ข้อ 4 == | ||
+ | ให้ <math>T(n) \,</math> เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้ | ||
+ | |||
+ | Algorithm A(n) | ||
+ | { | ||
+ | if (n <= 1) | ||
+ | do something in O(1) time. | ||
+ | else | ||
+ | { | ||
+ | do something in O(n) time. | ||
+ | Call A(n/2). | ||
+ | Call A(n/3). | ||
+ | Call A(n/6). | ||
+ | } | ||
+ | } | ||
+ | |||
+ | จงหา Big-Theta ของ <math>T(n) \,</math> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ /เฉลยข้อ 4|เฉลย]] | ||
+ | |||
+ | == ข้อ 5 == | ||
+ | ให้ <math>T(n) \,</math> เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้ | ||
+ | |||
+ | Algorithm B(n) | ||
+ | { | ||
+ | for i = 1 to n do | ||
+ | { | ||
+ | j = 1 | ||
+ | while (j < i) | ||
+ | { | ||
+ | j = 2*j | ||
+ | do something in O(1) time | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | จงหา Big-Theta ของ <math>T(n) \,</math> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ/เฉลยข้อ 5|เฉลย]] | ||
+ | |||
+ | == ข้อ 6 == | ||
+ | ให้ <math>T(n) \,</math> เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้ | ||
+ | |||
+ | Algorithm B(n) | ||
+ | { | ||
+ | if (n < 1) | ||
+ | do something in O(1) time | ||
+ | else | ||
+ | { | ||
+ | let k = square root of n | ||
+ | for j = 1 to k do | ||
+ | Call A(k) | ||
+ | do something in O(n) time | ||
+ | } | ||
+ | } | ||
+ | |||
+ | จงหา Big-Theta ของ <math>T(n) \,</math> | ||
+ | |||
+ | [[418531 ภาคต้น 2552/โจทย์ปัญหาการวิเคราะห์เชิงเส้นกำกับ/เฉลยข้อ 6|เฉลย]] |
รุ่นแก้ไขปัจจุบันเมื่อ 14:58, 2 สิงหาคม 2552
ข้อ 1
[CLRS 2-3] จงเรียงฟังก์ชันเหล่านี้ เพื่อทำให้ถ้าฟังก์ชัน มาก่อน แล้ว
ข้อ 2
[CLRS 2-4] ให้ และ เป็นฟังก์ชันบวกใดๆ จงพิสูจน์หรือไม่ก็แสดงว่าข้อความต่อไปนี้ไม่เป็นความจริงด้วยการแสดงข้อขัดแย้ง
- ถ้า แล้ว ด้วย
- ถ้า แล้ว
- ถ้า แล้ว
ข้อ 3
[CLRS 4-1] จงหา Big-Theta ของฟังก์ชันต่อไปนี้
ข้อ 4
ให้ เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้
Algorithm A(n) { if (n <= 1) do something in O(1) time. else { do something in O(n) time. Call A(n/2). Call A(n/3). Call A(n/6). } }
จงหา Big-Theta ของ
ข้อ 5
ให้ เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้
Algorithm B(n) { for i = 1 to n do { j = 1 while (j < i) { j = 2*j do something in O(1) time } } }
จงหา Big-Theta ของ
ข้อ 6
ให้ เป็นเวลาการทำงานของอัลกอริทึมต่อไปนี้
Algorithm B(n) { if (n < 1) do something in O(1) time else { let k = square root of n for j = 1 to k do Call A(k) do something in O(n) time } }
จงหา Big-Theta ของ