排序就是将一组数据按照指定的顺序进行排列的过程
内部排序是将所有数据都加载到内存中进行排序
外部排序是针对数据量过大,无法全部加载到内存中,需借助外部存储才能完成的排序
案例:
时间频度为T(n)=n+1,因为循环遍历n次后,最后还需要进行一次判断i是否<=end
时间频度为T(n)=1,因为不管end为多少,都是执行一次
刚才的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。
例:T(n)=n^2+7n+6 => T(n)=n^2
循环里每次都是i*2,假设x次之后结束循环,那么等式关系就是2^x=n,所以x=log2n
内部循环是一个对数阶logN,外部又进行了n次循环,所以总次数是NlogN
介绍:一个算法在运行过程中所占存储空间的大小
在做算法分析时,主要讨论的是时间复杂度。
从用户使用体验上看,更看重的程序执行的速度。
一些缓存产品(redis,memcache)和算法(基数排序)本质就是用空间换时间.
原文:https://www.cnblogs.com/han200113/p/11653663.html