【数据结构与算法】算法备忘

来源:互联网 发布:windos nodejs 80端口 编辑:程序博客网 时间:2024/06/04 18:55
算法:对特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作

五个特性:有穷性,确定性,可行性,输入,输出
输入输出:算法可以有0个或者多个输入,至少有一个或者多个输出。
有穷性:算法在执行有限的操作后,自动结束而不会出现死循环,并且每个步骤在可以接受的时间内完成。
确定性:算法每一步骤都有确定的含义,不会出现二义性
可行性:算法的每一步都是必须可行的,也就是说每一步都能通过执行有限次数完成。

算法设计要求:
1.正确性
2.可读性
3.健壮性
4.时间效率高和存储量低:办同样的事情 用 最少的时间,最小的存储完成。这里涉及 时间复杂度 和 空间复杂度。


算法效率度量方法:
1.事后统计法:计算运行时间进行对比
2.事前分析估算法:是 n,n2   logN等

算法的时间复杂度:
在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。
算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,
称作算法的渐近时间复杂度,简称为时间复杂度,其中f(n)是问题规模n的某个函数。用大O标记记法成为大O记法。

推导大O阶方法:
1.用常量1取代运行时间中的所有加法常量
2.在修改后的运行次数函数中,只保留最高阶项。
3.如果最高阶项存在而且不是1,则去除这个项相乘的常数,得到的结果就是大O阶。

常数阶是O(1);
线性阶是O(n);
对数阶是O(logn);
平方阶是O(n2);
时间复杂程度:

算法的空间复杂度:
S(n)=O(f(n))
估算方法:输入数据所占空间+程序所占空间+辅助变量所占空间

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内衣下胸围太紧怎么办 穿文胸衣服要开怎么办 运动内衣的拉链老来怎么办 胸罩没干急着穿怎么办 跑步时大腿很痒怎么办 胖大腿内侧磨伤怎么办 内衣围带过松怎么办 内衣底围特别紧怎么办 全棉衣服上的油怎么办 高腰牛仔裤腰大了怎么办 新买衣服太硬怎么办 棉麻的衣服发硬怎么办 新衣服太硬怎么办雪纺 衣服硬的咯人怎么办 脖子上的勒痕怎么办 腿上容易出现勒痕怎么办 身上总有内裤印怎么办 内裤穿出了印怎么办 饮水机热水口不出水怎么办 饮水机热水口出水小怎么办 新饮水机热水口出水小怎么办 白钢水桶中间支撑怎么办 17岁想长高应该怎么办 身子瘦但脸胖怎么办 减肥只瘦了胸是怎么办 减肥把胸瘦了怎么办 脸又大又圆怎么办 想长高又想减肥怎么办 孩子做作业精力不集中怎么办 写作业老要睡觉怎么办 孩子写作业精神不集中怎么办 小孩精神不集中要怎么办 注意力不集中上课走神怎么办 注意力不集中总是走神怎么办 孩子注意力不集中走神怎么办 上课老走神注意力不集中怎么办 注意力不集中老走神怎么办 7岁儿童视力0.6怎么办 三岁宝宝注意力不集中怎么办 四岁宝宝注意力不集中怎么办 一直在想一件事怎么办