zoukankan      html  css  js  c++  java
  • 算法基础

    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.查找

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

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

  • 相关阅读:
    PHP header函数设置http报文头示例详解
    在Windows下为PHP安装redis扩展
    CMD模拟http请求
    strstr使用
    memset使用
    QT修改应用程序图标
    纪念下自学QT 第十天 终于写成了串口调试助手
    QT设置textEdit光标到末尾
    QT设置TextEdit颜色
    QT设置QToolBar带有图标和文字
  • 原文地址:https://www.cnblogs.com/hanjun/p/2798559.html
Copyright © 2011-2022 走看看