数据结构:就好比一个大型图书馆,如何在书架上摆放图书,要考虑两个操作:
1.新书怎么插入
2.怎么找到指定的某本书
解决问题方法的效率,跟数据结构的组织方式有关,跟空间的利用率有关,跟算法的巧妙程度有关
所以什么是数据结构:
数据对象在计算机中的组织方式
1.逻辑结构
2.物理存储结构
数据对象必定与一系列加在其上的操作相关联
完成这些操作所用的方法就是算法
一个算法的好坏,主要看两方面,
时间复杂度:根据算法写成的程序在执行时耗费时间的长度,这个长度往往和输入数据的规模有关
空间复杂度:根据算法写成的程序在执行时占用存储单元的长度,这个长度往往也和输入数据的规模有关
不对算法复杂度做精确分析,大致知道增长趋势即可,所以有了复杂度的渐进表示法,O(f(n))表示上界,一般取能找到的最小的上界,最贴近真实情况的那个,因为上界有无穷多个
一个算法的复杂度为n的平方时,下意识考虑能不能转换成n*logn
两个算法相加,时间取两者最大的那一个
两个算法相乘,则最终的算法复杂度也是两个相乘(取两个上界的乘积)
多项式展开就是依据这个原则,复杂度取最大项的那个
原文地址:https://www.cnblogs.com/ymd12103410/p/9750059.html
时间: 2024-11-01 00:24:53