【软考】【数据结构】算法基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hongtao_6/article/details/81904594

算法的特性

又穷性:执行有穷步之后结束
确定性:每一条指令都必须有确切含义
有效性:每个步骤都能有效执行并能得到确定结果
输入>=0个,输出>=1个

算法设计目标

正确性:应满足具体问题的需求
可读性:便于阅读和交流
健壮性:输入数据非法时,能适当的做出反应或进行处理,不会产生莫名其妙的输出结果
效率与低存储需求:效率是指算法的执行时间,存储量需求是指算法执行过程中所需的最大存储空间

算法的复杂度

空间复杂度:算法在运行过程中临时占用存储空间大小的度量
时间复杂度:程序运行从开始到结束所需要的时间。
常见的对算法执行所需时间的度量:
O ( 1 ) < O ( l o g 2 n ) < O ( n ) < O ( n l o g 2 n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n )
O(1)是指时间复杂度为常数级的,单条语句
O(n)单层循环
O(n^2)双层循环
O(n^3)三层循环
O(log2 n)排序二叉树查找键值,n为结点数量,log2 n 为比较的次数
O(n log2 n)

常用经典算法

迭代法
穷举搜索法
递推法
递归法
回溯法
贪心法
分治法
动态规划法

猜你喜欢

转载自blog.csdn.net/hongtao_6/article/details/81904594