資料結構 語句頻度和時間頻度怎麼算

2025-07-06 17:35:06 字數 2465 閱讀 2519

1樓:仰瑛樓然

inti=1,j=1;

while(i<=n&&j<=n)

這個j+j+i;就是j=j+i;吧。

這個可以假設這條語句執行了k次,此時i=k+1;j=1+k(k+3)/2;

迴圈結束條件是:i<=n&&j<=n;所以可以知道:

把條件代進去可得:

k=(-3+sqrt(8n+1))/2;sqrt代表開根號;

所以語句頻度就是k;時間複雜度就是根號n。

時間複雜度和語句頻度有什麼區別?(資料結構問題)望高手指點!!謝謝!

2樓:本未終始

1.頻度計算:

int sum1(int n)

return(sum); //頻度:1

該函的執行頻度為:3n+3(或3n+5)

2.時間複雜度計算。

依據「頻度」可知該函式為n的一次方,可表示為o(n),也可表示為θ(n);後者更準確。

3.(補充)求「時間複雜度」是目的,「頻度」僅是手段,前者要依據後者的計算。

4.(補充)求演算法的「時間複雜度」是為了估計和比較不同演算法處理同一問題時的效率,只「估計」即可,不必也不可能準確得出計算時間(涉及不同硬體、系統軟體和編譯系統等)

5.(補充)演算法的時間複雜度計算問題涉及漸近符的使用,去看專門的演算法分析書籍。其中有兩個重要規則:忽略低階,忽略係數。

6."3n+3"與"3n+5"問題,當n很大時,執行的時間與+3還是+5無關。也就是"忽略低階"。

求資料結構的語句頻度和時間複雜度

3樓:網友

啊****************************************

因為到n的時候,雖然已經不符合i/2/ 前面/1/括號裡已說明。從0到n-1,總共執行了(n-1)-0+1次。

3/ 如果單獨拿出這個內圈迴圈,頻度為2*n-0+1+1。(注意是<=)再考慮外圈迴圈,相當於執行了n次的2*n-0+1+1,所以為n*(2*n+2)。

4/ 同理1和2。內圈執行了2*n-0+1次,考慮外圈迴圈,則是n*(2*n+1)。

何謂語句的頻度?

4樓:_鈊_煩_薏亂

先看看語句頻度和資料結構中時間複雜度的區別。

1)時間頻度乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。並且乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。

乙個演算法中的語句執行次數稱為語句頻度或時間頻度。記為t(n)。(2)時間複雜度在剛才提到的時間頻度中,n稱為問題的規模,當n不斷變化時,時間頻度t(n)也會不斷變化。

但有時我們想知道它變化時呈現什麼規律。為此,我們引入時間複雜度概念。一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函式,用t(n)表示,若有某個輔助函式f(n),使得當n趨近於無窮大時,t(n)/f(n)的極限值為不等於零的常數,則稱f(n)是t(n)的同數量級函式。

記作t(n)=o(f(n)),稱o(f(n)) 為演算法的漸進時間複雜度,簡稱時間複雜度。在各種不同演算法中,若演算法中語句執行次數為乙個常數,則時間複雜度為o(1),另外,在時間頻度不相同時,時間複雜度有可能相同,如t(n)=n2 3n 4與t(n)=4n2 2n 1它們的頻度不同,但時間複雜度相同,都為o(n2)。按數量級遞增排列,常見的時間複雜度有:

常數階o(1),對數階o(log2n),線性階o(n),線性對數階o(nlog2n),平方階o(n2),立方階o(n3),.k次方階o(nk),指數階o(2n)。隨著問題規模n的不斷增大,上述時間複雜度不斷增大,演算法的執行效率越低。

所以語句的頻度應該是語句總數/執行時間。

單位:次/單位時間。

.我只清楚漸進複雜度,這個語句頻度還真沒聽說過,希望我沒有搞錯。

5樓:手機使用者

乙個演算法中的語句執行次數稱為語句頻度。

6樓:網友

同乙個語句出現的次數。

在學資料結構中,如何計算語句的頻度???

7樓:終極至尊

一是可以直接求次序(看迴圈)! 二平均法去求:把所有次序加起來除以n或n+1(看題了) 找到最消耗時間的那個句子在運用上面的基本都解決了。

8樓:手機使用者

看語句執行次數,計算時間複雜度o()時候使用。

資料結構中的演算法怎樣找基本操作語句。怎樣求最大語句頻度和時間複雜度,最好舉例說明,詳細點,謝謝

9樓:網友

這首先你要掌握用於描述該演算法的語言,就能找到基本操作語句了,頻度和時間複雜度還是你要先看懂演算法程式,然後再看哪些語句執行的次數多,執行次數少的可酌情處理不考慮了。

資料結構,4題的語句頻度怎麼算的啊?

當i n j 到n 執行 n 次。那麼就是 n n n n 在學資料結構中,如何計算語句的頻度?一是可以直接求次序 看迴圈 二平均法去求 把所有次序加起來除以n或n 看題了 找到最消耗時間的那個句子在運用上面的基本都解決了。看語句執行次數,計算時間複雜度o 時候使用。資料結構中關於語句頻度計算 首先...

資料結構“時間複雜度”的題目,資料結構 有關時間複雜度題目 求高手!求詳細解釋

o表示法首先要弄清楚什麼用它來代表的上限的漸近執行時間的演算法函式g n o g n 代表了一組函式。介紹到演算法書定義 o g n 看到上面也可以忽略不明白,你只需要知道在低階項的漸近積極的作用,在確定上限和下限,可以忽略不計,因為當n大,他們相對來說並不重要,指數最高的專案上腳的一小部分已經超越...

怎樣學好資料結構,怎麼才能學好資料結構

資料結構作為大學計算機相關專業的學生來說是一門十分重要的課程,無論是以後演算法思想的滲透,還是工作中程式 的處理,都離不開資料結構的影子。但是因為資料結構知識較多,並且比較抽象,對於很多人來說學它就感到頭疼。其實大可不必,資料結構的學習自然有其對應的方法。首先,如不是為了應對考試或者考研,而是單純的...