算法基础

1.算法(程序 = 数据结构 + 算法)

计算算法主要分为两类:数值运算算法和非数值运算算法。 

如:1+3+5+7+……+99+100

对于这样的累加计算,可以使用下面的C语言程序实现:
int loop = 0, sum = 0;
for(loop=1;loop<100;loop=loop+2)
{
sum = sum + loop;
}
sum = sum + 100;  

 如果利用数学算法,可以使程序效率提高近10倍。数学运算中,可以使用和差算法计算这样的加和运算,公式为:

sum = n*(a1+an)/2
使用C语言实现的程序为:
int sum = 0;
sum = 49 * (99 + 1) / 2.0;
sum = sum +100; 
2.数据结构

     C语言中最常用的非数值算法主要包括排序算法和查找算法。在这些算法的理论设计中,有时需要用到某些数学模型,通常称为数据结构。典型的数据结构类型主要有链表、二叉树、图等。 

3.排序算法  

     排序,是指将一系列数据按照某种规则按照一定的顺序进行排列,以符合实际处理需求的操作过程。

  例如,对于一组数据,可以按照由大到小的顺序排序,也可以按照由小到大的顺序排序。对于人员姓名,可以按照首字母前后顺序排序,也可以按照姓名长度排序等等。一个合理的排序算法可以使程序执行效率提高,程序健壮性增强。

     排序常用的有冒泡排序,快速排序,选择排序,合并排序等。

4.查找

       查找算法是程序设计中最常用的算法之一。所谓查找,就是要在一组数据中找出某个特定的元素,若找到,则执行某种预定的动作,若未找到,则输出提示信息,并执行相应的操作。

        查找的算法很多,常用的查找算法是顺序查找算法和折半查找算法。

原文地址:https://www.cnblogs.com/hanjun/p/2798559.html