算法设计学习:基础知识(一)
2014-07-31 21:45
197 查看
算法:
由基本运算及规定的运算顺序构成的完整的解题步骤,或者是按要求设计好的有限的确切的计算序列。
特点:有穷性;确定性;输入;输出;可行性
时间复杂度
·将算法中基本操作的执行次数作为算法时间复杂度的度量
·算法执行所要耗费的时间,时间越短,算法越好。首先,算法代码执行的时间往往和算法代码中语句执行的数量有关。另外,算法的时间复杂度还与问题的规模有关。
·常用的比较关系:
空间复杂度:
·算法程序在计算机中执行所需要消耗的存储空间。空间复杂度,可以分为两个方面:
(1)程序保存所需要的存储空间,也就是程序的大小。
(2)程序在执行过程中所消耗的存储空间资源,例如在执行过程中的中间变量等。
注意:
·无论何时只要你确定一个指向,那么你就必须保证该指针不是NULL
·创建尚未被声明过的记录的惟一方法是使用malloc库函数,malloc(HowManyBytes)使系统创建一个新的结构并返回指向该结构的指针。
由基本运算及规定的运算顺序构成的完整的解题步骤,或者是按要求设计好的有限的确切的计算序列。
特点:有穷性;确定性;输入;输出;可行性
时间复杂度
·将算法中基本操作的执行次数作为算法时间复杂度的度量
·算法执行所要耗费的时间,时间越短,算法越好。首先,算法代码执行的时间往往和算法代码中语句执行的数量有关。另外,算法的时间复杂度还与问题的规模有关。
·常用的比较关系:
O(1) <= O(log2(n)) <= O(n) <= O(n*log2(n)) <= O(n^2) <=O(n^3) <= ... <= O(n^k) <= O(2^n)
空间复杂度:
·算法程序在计算机中执行所需要消耗的存储空间。空间复杂度,可以分为两个方面:
(1)程序保存所需要的存储空间,也就是程序的大小。
(2)程序在执行过程中所消耗的存储空间资源,例如在执行过程中的中间变量等。
注意:
·无论何时只要你确定一个指向,那么你就必须保证该指针不是NULL
·创建尚未被声明过的记录的惟一方法是使用malloc库函数,malloc(HowManyBytes)使系统创建一个新的结构并返回指向该结构的指针。
相关文章推荐
- Flash互动网站设计学习-Flash基础知识
- [算法学习笔记]算法基础知识
- 算法分析与设计基础 学习笔记 第一章
- 算法设计--基础知识
- c++基础知识,有现成的函数不用,非的自己设计算法,这不是坑爹吗?
- 算法设计--基础知识
- 【广告算法工程师入门 15】机制设计-基础知识
- c++基础知识,有现成的函数不用,非的自己设计算法,这不是坑爹吗?
- 基础知识 第一部分 算法导论 学习笔记
- 学习算法你必须知道的一些基础知识(文末福利)
- 书山有路之学习算法导论(一)--基础知识
- 【学习笔记】<算法导论>基础知识1.1
- 零基础学习室内设计要学的知识跟要…
- [架构设计] CUDA系列学习(五)GPU基础算法: Reduce, Scan, Histogram
- Introduction to Algorithms 算法导论 第1章 基础知识 学习笔记及习题解答
- 算法设计和复杂性理论学习笔记_2(数学基础)
- 学习笔记—网页设计基础知识(一)
- XML基础知识学习十(微软的XML解析器)
- XML基础知识学习五(XML 属性)
- XML基础知识学习二(如何使用XML?)