ฉันมีวิทยาการคอมพิวเตอร์กลางภาคในวันพรุ่งนี้และฉันต้องการความช่วยเหลือในการกำหนดความซับซ้อนของฟังก์ชันเวียนเกิดเหล่านี้ ฉันรู้วิธีแก้ปัญหากรณีง่าย ๆ แต่ฉันยังคงพยายามเรียนรู้วิธีแก้ไขกรณียาก ๆ เหล่านี้ ปัญหาเหล่านี้เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันไม่สามารถเข้าใจได้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชมมากและจะช่วยอย่างมากในการศึกษาของฉันขอบคุณ!
int recursiveFun1(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun1(n-1);
}
int recursiveFun2(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun2(n-5);
}
int recursiveFun3(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun3(n/5);
}
void recursiveFun4(int n, int m, int o)
{
if (n <= 0)
{
printf("%d, %d\n",m, o);
}
else
{
recursiveFun4(n-1, m+1, o);
recursiveFun4(n-1, m, o+1);
}
}
int recursiveFun5(int n)
{
for (i = 0; i < n; i += 2) {
// do something
}
if (n <= 0)
return 1;
else
return 1 + recursiveFun5(n-5);
}