1樓:殘雪黃昏
首先這個程式最佔用時間的3條語句是:i++,j++,s++。(本來i=0;i接下來說上面3條語句的執行時間,你的程式等價於下面這種格式:
for(i=0;i
這個一個雙重迴圈,處於迴圈最裡面的s++執行了n*n次,這個應該不難理解吧。
j++執行了n*(n+1)次:因為外層i執行了n次,j執行了n+1次。
i++執行了n+1次。
t(n)=o(f(n)) = o(2n*n+2*n+1)。但是我們說的是複雜度,複雜度的表示一般都只要把表示資料增長的性質表達出來就行了,而且是影響資料增長最主要的性質。何為資料增長的性質,比如說n,那就是線性增長;n*n,那就是平方增長,n*n*n,那就是3次方增長;log(n),那就是對數增長。
以上綜合,影響2n*n+2*n+1最主要的增長性質是n*n。所以複雜度就是o(n*n)。
2樓:匿名使用者
f(n)也就是語句執行次數是指所有語句執行的總次數,也就是for(i=0;i
for(j=0;j
o(n)出自大o演算法,就是時間複雜度,也就是在最壞情況下語句執行次數,實際上就是f(n)的最高次冪,也就是2n*n+2n+1中的n*n,前面的常數無所謂
for(i=0;i
3樓:你猜我猜哇擦猜
時間複雜度是o(n(m-1)),是平方級的演算法
這個的時間複雜度取決於程式迴圈的次數,由乘法原理得迴圈了n*(m-1)次~複雜度即為所求~
不懂可問,望採納!
4樓:
該for迴圈,一重時時間複雜度為o(n),二重時為o(n^2)
氣泡排序中,兩重迴圈是 for (i=0;i
5樓:喧世幽人
for(i = 0; i < n -1; i++) // 比較copy輪數
for(j = n - 1; j > i; j--) // 元素下標
if(a[j] < a[j -1]) // 比較大小
swap(a[j], a[j -1]); // 交換位置
從最後一個元素開始和前一個元素比較(注意j的取值),如果比前一個小,則交換位置。每輪比較都保證前面的元素是有序的,即把小的元素冒泡到最前面,只需要n-1輪(i的取值)即可完成。
6樓:匿名使用者
怎麼不對
你對幾個元素排序的
c語言中:for(i=0;i<3;i++) for(j=0;j<3;j++)是什麼意思 30
7樓:四舍**入
是一個雙重迴圈。
其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈。
先迴圈第一個fori=1j=1,2,3i=2j=1,2,3i=3j=1,2,3一共3*3執行9次。
for遍歷0到9之間的數字,for迴圈由迴圈體及迴圈的終止條件兩部分組成。
8樓:會飛的小兔子
c語言中:for(i=0;
i<3;i++)for(j=0;j<3;j++)是一個雙重迴圈。
for(i=0;i<3;i++)
其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈
先迴圈第一個fori=1j=1,2,3i=2j=1,2,3i=3j=1,2,3一共3*3執行9次、
for遍歷0到9之間的數字
for(;i<10;i++)
printf("\n");
//此時i的值是10
printf("i=%d\n",i);
擴充套件資料for迴圈體外定義變數
#include
intmain()
printf("\n");
printf("i=%d\n",i);
intj=0;
for(;j<10;)
printf("\n");
printf("j=%d\n",j);
return0;}
9樓:
這是一個雙重迴圈。
for(i=0;i<3;i++)
其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈;
先迴圈第一個for i=1 j=1,2,3 i=2 j=1,2,3 i=3 j=1,2,3一共3*3執行9次。
for迴圈由迴圈體及迴圈的終止條件兩部分組成,for迴圈其在各種程式語言中的實現與表達有所出入,但基本為以c語言和pascal語言代表的兩種形式。
擴充套件資料
for迴圈中的變數可以是一個也可以是多個,不要侷限於一個變數處理到底,那樣有時會很單調,當程式適合把多個變數組成迴圈時,用多個for語句來表示就是有些浪費了。
for迴圈中語句可以為語句體,語句體外加大括號"{}"將參加迴圈的語句括起來。 for迴圈的三個表示式都是逗號表示式,這樣來說,其實每個分號表示式可以由幾個逗號表示式構成,中間用",」隔開,最後以「;」結束。
10樓:匿名使用者
迴圈從3開始,每次j減1,當j=0時,迴圈條件不滿足,因此只巡檢3次;
這種寫法很不好,不推薦使用。
11樓:
for(j=3;j;j--)
寫為for(j=3;j>0;j--) 這樣可以讓人更明白意思
意為從3開始迴圈,每次自減1,到0不滿足條件就跳出迴圈了
12樓:孤獨一客人
這是一個雙重迴圈
格式for(i=0;i<3;i++)
13樓:匿名使用者
這是一個雙重迴圈,通常我們會在迴圈中加個大括號
for(i=0;i<3;i++)
其中i從0到2,i取一個值,j就從0取到2,共迴圈9次
求c語言中for(i=0;i
14樓:
兩個迴圈的次數是一樣多的,都是n-(j+1)次,但在迴圈過程中i的值不一樣
前者是0,1,2 …… n-(j+1)-1後者是j+1,j+2,j+3……n-1
一道資料結構的題目跪求大神解題 畫出下面二叉樹的中序線索二
中序線索二叉樹 先根,在左子樹,然後右子樹。左線索指向前一個結點,左線索指向後一個結點。中序遍歷 abcdefghi.化成為森林,這個看一下書 給定如圖所示二叉樹t,請畫出與其對應的中序線索二叉樹。15 根據中順遍歷方法 先範訪問左子樹 結點 右子樹 中序遍歷 55 40 25 60 28 08 3...
高數一道導數的題目,有圖有答案求過程
x 0,cosx 1啊,cosx的平方就是1撒 lim x 0 tanx sinx x 3 0 0 分子分母分別求導 lim x 0 secx 2 cosx 3x 2 lim x 0 1 cosx 3 3x 2 cosx 2 lim x 0 1 cosx 3 3x 2 0 0 分子分母分別求導 li...
我有一道英文的C程式題目不懂,能否幫忙解答一下,感激不盡
題幹翻譯 學習下面的流程圖,並以此為基礎編寫 在控制檯程式中編寫一個適當的程式,且包含全部必要的條件。一個人要去一個工廠,他可以從johannesburg 地名 約翰內斯堡 和durban 地名 德班 中選擇。也就是說 他可以選擇從不同的地方到達那個工廠。這個人必須提供他的選擇,下面的流程圖給你一個...