![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
数据结构与算法
alone away
这个作者很懒,什么都没留下…
展开
-
排序
一、排序基础二、冒泡排序1、实现原理:比较交换冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。该图是通过两两比较交换,从而使最大的慢慢冒到数组最顶端。一般自己的写法是使最小的到达数组的最始端,冒得是最小值。2、代码实现最...原创 2020-01-29 19:44:10 · 122 阅读 · 0 评论 -
递归
一、符合运用递归的条件:能够将大问题进行分解为各个类似的小问题各个小问题的解法类同与大问题有问题终止的条件二、递归代码的写法:先推导出数学公式找到终止条件基于此写代码三、递归代码注意事项:警惕堆栈溢出:因为不停的函数调用,建立方法栈,若无终止条件,或者超出栈内存,则会溢出解决方案:1)确立的正确终止条件2)限制递归调用的深度,即建立调用深度计数器。递归中...原创 2020-01-29 13:56:56 · 143 阅读 · 0 评论 -
算法复杂度(时间与空间)
一、时间复杂度1、含义: 时间复杂度代表一个算法的执行效率时间随数据规模增长的变化趋势。2、计算公式: 时间复杂度与代码的执行次数成正比。 写法:T(n) = O(f(n)) 其中f(n)代表代码的执行次数总和。3、计算法则:本质上是计算代码执行次数常数项省略:其对增长趋势没有影响。只需要计算循环执行最多的一段代码。函数想加,等于量级最大的那一段循环代码执行次数。...原创 2020-01-26 14:37:30 · 227 阅读 · 0 评论