2017-05-20 76 views
0

我在找到一些算法的O時間方面遇到了麻煩。我搜查了很多O符號,但每當我的運動變得更加困難時,我找不到解決方案。現在我遇到了一個算法,我找不到解決方案。 我已經通過堆棧溢出搜索,但沒有發現真正幫助我。我發現的最好的帖子是this。 它只是說出我所知道的,而不是如何計算或看到它。第二篇文章也提出瞭解決方案的一些算法,但不是如何找到它。我算法的時間複雜性

守則

`for i = 1; i <= n; i++ 
    for j = 1; j <= i; j++ 
     for k = 1; k <= i; k++ 
      x = x + 1 
` 

問題

這是什麼算法的時間複雜度?

另外,是否有一些很好的教程來幫助我更好地理解這個問題?

另外對不起,如果有這個allready堆棧溢出後,但我找不到一個好幫助我。

+0

你最後的循環增值'j',不'k',因此該循環是無限 – Coolness

+0

對不起,這是一個錄入錯誤從我,我編輯它 –

回答

2
  • 循環定義i運行n次。
  • 循環定義j運行n * n/2
  • 循環定義k運行n * n/2 * n/2

= n * 1/2 * n * 1/2 * n

= n * n * n * 1/2 * 1/2

= O(n^3)

您也可以嘗試在來回推斷米可變x的終值,這應該是大致成正比n^3