![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法图解
Rlan1712
这个作者很懒,什么都没留下…
展开
-
二、选择排序
数组(Array)数组特点所谓数组,就是相同数据类型的元素按一定顺序排列的集合,数组的 存储区间是连续的,占用内存比较大,故空间复杂的很大。但数组的二分查找时间复杂度小,都是O(1);数组的特点是:查询简单,增加和删除困难。1.插入数据和删除数据效率低 插入数据时,待插入位置的元素和他后面的所有元素都需要向后移动 删除数据时,待删除位置后面的所有元素都需要向前移动2.随机访问效率很高,时间复杂度可以达到O(1); 因为数组的内存是连续的,想要访问那个元素,直接从数组的首地址向后偏移就可原创 2020-07-15 09:13:33 · 164 阅读 · 0 评论 -
三、递归(Recursion)
定义递归,就是在运行的过程中调用自己构成递归的条件:1.子问题必须与原问题为同样的事,且更为简单2.不能无限制的调用本身,必须有个出口,化简为非递归状况处理基线条件和递归条件由于递归函数调用自己,因此编写这样的函数时很容易出错,进而导致无限循环。编写程序时必须告诉它何时停止,因此每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)示例://简单递归函数 public static void cutDown(int down) { Syste原创 2020-07-15 09:08:23 · 181 阅读 · 0 评论 -
一丶二分算法
文章目录二分算法定义代码运算时间大O表示法一些常见的大O运行时间小结二分算法定义二分查找是一种算法,其输入是一个有序的元素列表(必须是有序列表)。如果要是查找的元素包含在列表中,二分查找返回其位置,否则返回null代码 /** * @author Ritter * 二分查找 * 给定已升序号的n个元素a[0:n-1],现要在这n个元素中照出一个特定元素x * 分析: 该问题可以分解为若干规模较小的相同问题 * 子问题的解可以合并为原问题解 * 各个子问题是相互独立原创 2020-07-10 17:05:16 · 292 阅读 · 0 评论