當前位置:首頁 » 操作系統 » 演算法循環結構

演算法循環結構

發布時間: 2022-12-06 06:44:43

1. 計算機演算法中有幾種常用的循環結構

1.冒泡排序:時間復雜度為O(n * n)

NSArray *array ;
int i ,j;
for(i = 0, i < array.count -1, i++)
{
for( j = i , j < array.count -1,j++){
if(array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}

2.二分查找(折半查找),時間復雜度為o(log n )

int search(int array[], int low, int high, int target)
{
if (low > high) return -1;//第一次,low為0,high為數組的個數。這是用遞歸實現的。

int mid = (low + high)/2;
if (array[mid]> target)
return search(array, low, mid -1, target);
if (array[mid]< target)
return search(array, mid+1, high, target);

//if (midValue == target)
return mid;
}3.單鏈表反轉

使用3個指針遍歷單鏈表,逐個鏈接點進行反轉。

ActList* ReverseList2(ActList* head)
{
//ActList* temp=new ActList;
if(NULL==head|| NULL==head->next) return head; //少於兩個節點沒有反轉的必要。
ActList* p;
ActList* q;
ActList* r;
p = head;
q = head->next;
head->next = NULL; //舊的頭指針是新的尾指針,next需要指向NULL
while(q){
r = q->next; //先保留下一個step要處理的指針
q->next = p; //然後p q交替工作進行反向
p = q;
q = r;
}
head=p; // 最後q必然指向NULL,所以返回了p作為新的頭指針
return head;
}
4.判斷一個鏈表是否為循環鏈表

判斷一個單向鏈表是否是循環鏈表比較簡單,只要將一個指針p指向表的第一個節點,而另外一個指針q指向
p的下一個節點,然後讓q向後滑動,直到q為0或q等於p(此時表是循環鏈表)為止。
5.判斷一個單鏈表是否存在環
設置兩個指針(fast, slow),初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鏈表存在環,則fast必定先進入環,而slow後進入環,兩個指針必定相遇。(當然,fast先行頭到尾部為NULL,則為無環鏈表)程序如下:

bool IsExitsLoop(slist *head)
{
slist *slow = head, *fast = head;

while ( fast && fast->next )
{
slow = slow->next;
fast = fast->next->next;
if ( slow == fast ) break;
}

return !(fast == NULL || fast->next == NULL);
}

2. 演算法的基本結構是什麼

演算法的基本結構是順序結構、條件分支結構、循環結構,順序結構,是最簡單的演算法結構,語句與語句之間是按從上到下的順序進行的。它是由若干個依次執行的處理步驟組成的,它也是任何一個演算法都離不開的一種演算法結構。

共同特點:

(1)只有一個入口和出口。

(2)結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它,如圖中的A,沒有一條從入口到出口的路徑通過它,就是不符合要求的演算法結構。

(3)結構內不存在死循環,即無終止的循環。

順序結構是最簡單的演算法結構,語句與語句之間是按從上到下的順序進行的。它是由若干個依次執行的處理步驟組成的,它也是任何一個演算法都離不開的一種演算法結構。

如下演算法是順序結構的:

S1:m=a。

S2:a=b。

S1:b=m。

3. 演算法的三種基本結構是什麼

演算法有順序結構、條件分支結構、循環結構三種基本邏輯結構。

三種基本結構的共同點:

(1)只有一個入口和出口。

(2)結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它。

(3)結構內不存在死循環,即無終止的循環。

數據結構演算法具有五個基本特徵:輸入、輸出、有窮性、確定性和可行性。

1、輸入:一個演算法具有零個或者多個輸出,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件,後面一句話翻譯過來就是,如果一個演算法本身給出了初始條件,那麼可以沒有輸出。

2、輸出:演算法至少有一個輸出。也就是說,演算法一定要有輸出,輸出的形式可以是列印,也可以使返回一個值或者多個值等,也可以是顯示某些提示。

3、有窮性:演算法的執行步驟是有限的,演算法的執行時間也是有限的。

4、確定性:演算法的每個步驟都有確定的含義,不會出現二義性。

5、可行性:演算法是可用的,也就是能夠解決當前問題。

4. 演算法中只有兩種循環結構嗎

一共四種,goto循環,for循環,do-while循環,while循環

5. 當型循環結構的演算法功能是什麼

當型循環結構:在每次執行循環體前,對條件進行判斷,當條件滿足時,執行循環體,否則終止循環。直到型循環結構:在執行了一次循環體後,對條件進行判斷,如果條件不滿,就繼續執行,知道條件滿足終止循環。

6. 計算機演算法的三種基本結構

網路知道
計算機程序的三種基本結構是啥?
yezi1950
TA獲得超過22萬個贊
關注
成為第1930位粉絲
計算機程序的三種基本結構是:順序結構、分支結構、循環結構
1、順序結構:
順序結構是一個程序從第一行一直運行到最後一行,也就是程序從頭到尾運行。
2、分支結構:
分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。
3、循環結構:
一般用於重復某段需要不斷重復執行的代碼。
共同特點:
① 三種結構都是只有一個入口,一個出口。
② 三種結構內都不存在死循環。

7. C語言循環結構有哪幾種

1、while循環
while語句的一般形式為:while(表達式)語句。其中表達式是循環條件,語句為循環體。
while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。
2、do-while語句的一般形式為:
do
語句
while(表達式);
這個循環與while循環的不同在於:它先執行循環中的語句,然後再判斷表達式是否為真,
如果為真則繼續循環;如果為假,
則終止循環。因此,
do-while循環至少要執行一次循環語句。
3、在C語言中,for語句使用最為靈活,它完全可以取代
while
語句。它的一般形式為:
for(表達式1;表達式2;表達式3)
語句
它的執行過程如下:
1)
先求解表達式1。
2)
求解表達式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下
面第3)步;若其值為假(0),則結束循環,轉到第5)步。
3)
求解表達式3。
4)
轉回上面第2)步繼續執行。
5)
循環結束,執行for語句下面的一個語句。
注意:
1)
for循環中的「表達式1(循環變數賦初值)」、「表達式2(循環條件)」和「表達式3(循環變數增量)」都是選擇項,
即可以預設,但「;」不能預設。
2)
省略了「表達式1(循環變數賦初值)」,
表示不對循環控制變數賦初值。
3)
省略了「表達式2(循環條件)」,
則不做其它處理時便成為死循環。
4、幾種循環的比較
1)
循環都可以用來處理同一個問題,一般可以互相代替。
2)
while和do-while循環,循環體中應包括使循環趨於結束的語句。for語句功能最強。
3)
用while和do-while循環時,循環變數初始化的操作應在while和do-while語句之前完成,而for語句可以在表達式1中實現循環變數的初始化。

8. 演算法的三種基本結構是什麼 演算法的三種基本結構包括哪些

1、順序結構:順序結構是最簡單的演算法結構,語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的。

它是任何一個演算法都離不開的一種基本演算法結構。順序結構在程序框圖中的體現就是用流程線將程序框自上而下地連接起來,按順序執行演算法步驟。

2、條件結構:

條件結構是指在演算法中通過對條件的判斷,根據條件是否成立而選擇不同流向的演算法結構。

條件P是否成立而選擇執行A框或B框。無論P條件是否成立,只能執行A框或B框之一,不可能同時執行A框和B框,也不可能A框、B框都不執行。一個判斷結構可以有多個判斷框。

3、循環結構

在一些演算法中,經常會出現從某處開始,按照一定條件,反復執行某一處理步驟的情況,這就是循環結構,反復執行的處理步驟為循環體,顯然,循環結構中一定包含條件結構。循環結構又稱重復結構,循環結構可細分為兩類:

一類是當型循環結構,如下左圖所示,它的功能是當給定的條件P成立時,執行A框,A框執行完畢後,再判斷條件P是否成立,如果仍然成立,再執行A框,如此反復執行A框,直到某一次條件P不成立為止,此時不再執行A框,離開循環結構。

另一類是直到型循環結構,如下右圖所示,它的功能是先執行,然後判斷給定的條件P是否成立,如果P仍然不成立,則繼續執行A框,直到某一次給定的條件P成立為止,此時不再執行A框,離開循環結構。

9. C語言循環結構有哪幾種

常見就三種:for循環,while循環,do…while循環
當然,也可以用goto做偽循環
還有用函數實現循環:
單一函數調用自己實現的循環叫做:遞歸函數,
兩個或者多個函數首尾互相調用可以實現循環演算法。

10. 演算法初步中循環結構程序一般由三個部分組成

循環初始、
循環體
、循環控制
循環初始:確定循環
從何處開始

循環體:即執行的循環,所要執行的語句;
循環控制:通過判斷來決定
是否繼續
執行循環。

熱點內容
技算計編程 發布:2024-04-26 14:43:42 瀏覽:140
開普票密碼區和備注是什麼意思 發布:2024-04-26 14:43:31 瀏覽:852
吃雞安卓和蘋果如何加好友 發布:2024-04-26 14:39:10 瀏覽:836
centos編譯命令 發布:2024-04-26 14:18:04 瀏覽:654
網路編程畢設 發布:2024-04-26 14:13:10 瀏覽:208
秦九韶演算法教案 發布:2024-04-26 13:30:22 瀏覽:412
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521