当前位置: 代码迷 >> C语言 >> 不知道我的这个杨辉三角的空间复杂度是多少呢?
  详细解决方案

不知道我的这个杨辉三角的空间复杂度是多少呢?

热度:138   发布时间:2008-05-11 00:09:30.0
不知道我的这个杨辉三角的空间复杂度是多少呢?
程序代码:

#include<stdio.h>
#define N 13
int main(void)
{
        int a[N][N];
        int i,j,n;
        do
        {
                system("cls");
                printf("请输入杨辉三角的层数(为了保持队列整齐,所以请输入3~13的整数):\n");
                scanf("%d",&n);
                puts("");
                if(n<3||n>13)
                {
                        printf("您输入的数字超出范围,请重新输入。\n");
                        sleep(1);
                }
        }
        while(n<3||n>13);
        for(i=0;i<n;++i)
                for(j=0;j<=i;++j)
                {
                        if(i==j||j==0)
                                a[i][j]=1;
                        else
                                a[i][j]=a[i-1][j-1]+a[i-1][j];
                }

        for(i=0;i<n;++i)
        {
                for(j=0;j<12-i;++j)
                        printf("   ");
                for(j=0;j<=i;++j)
                        printf("%6d",a[i][j]);
                puts("");
        }

        getch();
}
搜索更多相关的解决方案: 杨辉三角  空间  int  数字  

----------------解决方案--------------------------------------------------------
空间复杂度O(n^2),时间复杂度O(n^2)
----------------解决方案--------------------------------------------------------
你的空间代价和n没有关系,是定值(13×13+3)×sizeof(int)
----------------解决方案--------------------------------------------------------