zoukankan      html  css  js  c++  java
  • 【算法初阶1】算法概述

    -------------------------------天禄貔貅  王冬冬 技术博客-------------------------------

    1.1什么是算法?

    字面义:算法就是用于计算的方法,通过这种方法可以达到预期的结果。

    专业定义:算法是模型分析的一组可行的、确定的和有穷的规则。

    从程序设计角度:算法由一系列求解问题的指令构成,能够根据规则的输入在有限的时间内获得有效的输出结果。

    算法的五个特征:有穷性、确切性、输入、输出、可行性。

    1.2 算法的发展历史

    周髀算经——>9世纪“算法”——>欧几里得算法(碾转相除法)

    1.3 算法的分类

    按照应用来分类:基本算法、数据结构相关的算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等

    按照结果的确定性分类:确定性算法和非确定性算法

    按照算法的思路分类:递推算法、递归算法、穷举算法、贪婪算法、分治算法、动态规划算法和迭代算法

    1.4 算法相关概念的区分

    1.算法与公式的关系:公式是一种算法,但算法绝不完全等于公式,算法的形式可以更复杂,解决的问题更广泛

    2.算法与程序的关系:学习一门程序语言很容易,正确合理的运用算法来编写却是很难的

    3.算法与数据结构的关系:数据结构是数据的组织形式,可以用来表征特定的对象数据,算法往往依赖某种数据结构,数据结构+算法+程序语言=程序

    1.5 算法的表示

    自然语言表示、流程图表示、N-S图表示和伪代码表示

    1.6 算法的性能评价

    时间复杂度:算法执行所需要耗费的时间,时间越短算法越好。可以对算法代码进行评估,从而得到时间复杂度

    空间复杂度:算法程序在计算机中执行所需要消耗的存储空间。可分为

    (1)程序保存所需要的存储大小,也就是程序的大小

    (2)程序在执行过程中所需要消耗的存储空间资源,例如程序执行过程中中间变量资源


    -------------------------------天禄貔貅  王冬冬 技术博客-------------------------------

    Le王冬冬 博客分享地址: http://www.cnblogs.com/dongdong230/ 每个人都应做一天攻城狮
  • 相关阅读:
    Windows Phone 31 日谈——第18日:WebBrowser控件
    Windows Phone 31 日谈——第19日:推送通知
    使用bat文件启动服务
    绝代反向指标——丘吉尔 炒股第二天就崩盘
    插入数据库返回自增长序号
    大并发服务器开发
    在这个不相信爱情的时代里,巴菲特的故事似乎让我又相信爱情了
    mysql操作语句
    马云三历高考才进大学 第一次高考数学考1分
    俞敏洪的屌丝逆袭 大学考了三次进北大
  • 原文地址:https://www.cnblogs.com/dongdong230/p/4183043.html
Copyright © 2011-2022 走看看