c语言算法有哪些

Python018

c语言算法有哪些,第1张

这里整理c语言常用算法,主要有:

交换算法

查找最小值算法

冒泡排序

选择排序

插入排序

shell排序 (希尔排序)

归并排序

快速排序

二分查找算法

查找重复算法

c语言中的算法是指:一系列解决问题的清晰指令,用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。通俗说就是解决问题的方法和步骤。

描述算法的例子:

问题:从上海去到北京。

其中的算法:做汽车、做飞机、或者徒步。

问题:喝茶。

其中的算法:先找到茶叶,再烧一壶开水,然后将茶叶放到杯子里,将开水倒入杯中,等茶叶泡好。

问题:开车。

其中的算法:首先要打开车门,驾驶员坐好,插上车钥匙,发动汽车。

算法的五个重要的特征:有穷性(Finiteness)、确切性(Definiteness)、输入项(Input)、输出项(Output)、可行性(Effectiveness)。

算法的时间复杂度:算法的时间复杂度是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做。T(n)=Ο(f(n))因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。

算法的空间复杂度:算法的空间复杂度是指算法需要消耗的内存空间。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。可以从正确性、可读性、健壮性(容错性)来分析。

1.输入语句:scanf("控制格式",接受值列表),其中控制格式常用的有:%d,%c,%s,%f,分别

表示整型,字符型,字符串和浮点型.

例如int

achar

cscanf("%d

%c",&a,&c)表示向a和c输入值

2.赋值语句:=号,如将b赋值为10,为b=10

3.条件:if(布尔表达式){程序}else{程序}(注:此结构可嵌套)

switch(离散量){case

常量:...case

常量:...}

例:int

ascanf("%d",&a)

if(a>10)

{printf("大于10")}

else

{printf("小于10")}

例:switch(months)

{

case

1:printf("1月有31天")break

case

3:printf("3月有31天")break

....

default:break

}

4.循环:for结构,while结构,do-while结构

for(初始化判断变化)

{

}

while(条件)

{

}

do

{

}while(条件)