当前位置:首页 » 操作系统 » 算法循环结构

算法循环结构

发布时间: 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. 算法初步中循环结构程序一般由三个部分组成

循环初始、
循环体
、循环控制
循环初始:确定循环
从何处开始

循环体:即执行的循环,所要执行的语句;
循环控制:通过判断来决定
是否继续
执行循环。

热点内容
idea文件夹显示 发布:2024-05-07 00:30:04 浏览:249
怎么把ps存储为ai 发布:2024-05-07 00:30:03 浏览:272
参数内存缓存 发布:2024-05-07 00:28:54 浏览:746
android状态栏高度 发布:2024-05-07 00:24:42 浏览:241
数据库主文件 发布:2024-05-07 00:14:41 浏览:608
木头创意解压 发布:2024-05-07 00:11:55 浏览:215
密码都能设置什么 发布:2024-05-07 00:02:30 浏览:741
兰州大学网络服务器ip地址 发布:2024-05-06 23:44:09 浏览:429
安卓手机为什么这么香 发布:2024-05-06 23:33:19 浏览:623
安卓微信深色模式是什么意思 发布:2024-05-06 23:14:41 浏览:686