![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 64
IT_Rain
这个作者很懒,什么都没留下…
展开
-
数据结构与算法-插入&希尔&归并(归并排序)
为啥把插入排序,希尔排序,归并排序纳入一类排序思想插入排序,希尔排序,归并排序这三种排序方式其实是依次优化的,希尔排序是插入排序的一种升级,归并排序是插入算法的升级,效率比希尔排序还好时间复杂度 : 插入排序 > 希尔排序 > 归并排序(ps :如果在学习这三个算法之前需要掌握 时间复杂度计算方式 递归 和 插入算法 链接如下1.递归&分治&回溯2.时间复杂度3.插入排序)归并排序的思想归并排序的过程分为 归 和 并归:将一个等待排序数组拆分成原创 2021-05-14 11:07:29 · 135 阅读 · 0 评论 -
数据结构与算法-插入&希尔&归并(希尔排序)
为啥把插入排序,希尔排序,归并排序纳入一类排序思想插入排序,希尔排序,归并排序这三种排序方式其实是依次优化的,希尔排序是插入排序的一种升级,归并排序是插入算法的升级,效率比希尔排序还好时间复杂度 : 插入排序 > 希尔排序 > 归并排序(ps :如果在学习这三个算法之前需要掌握 时间复杂度计算方式 递归 和 插入算法 链接如下1.递归&分治&回溯2.时间复杂度3.插入排序)希尔排序就是在插入排序的基础上,将一个数组按照一个增量分组,数组索引为n和原创 2021-04-29 18:30:16 · 211 阅读 · 0 评论 -
数据结构与算法-插入&希尔&归并(插入排序)
为啥把插入排序,希尔排序,归并排序纳入一类排序思想插入排序,希尔排序,归并排序这三种排序方式其实是依次优化的,希尔排序是插入排序的一种升级,归并排序是插入算法的升级,效率比希尔排序还好时间复杂度 : 插入排序 > 希尔排序 > 归并排序(ps :如果在学习这三个算法之前需要掌握 时间复杂度计算方式 和 递归 .链接如下1.递归&分治&回溯2.时间复杂度)插入排序生活中有很多类似于插入排序的行为,例如打扑克.比如我现在手上抓到一副牌 2,7,1,原创 2021-04-29 17:59:19 · 158 阅读 · 0 评论 -
数据结构与算法-递归思想
递归&分治&回溯递归不仅仅是一种编程代码的习惯方式,而更多的是一种分析业务逻辑的思维方式.有很多人在说到递归的时候,往往就是觉得递归不就是函数里面嵌套相同函数吗?就像下面这样 void fun(int a){ fun(a); }但是,很多同学在写一个递归的时候,是只知道能解决一个问题,但是不知道写递归还要注意内在几个重要性,下面我们就来说明这些个特性。注意,写递归一定要看重这种编程思想,而不是只局限于递归函数的写法一:分治分治就是在分析一个问题的时候原创 2021-04-25 11:23:28 · 240 阅读 · 0 评论 -
数据结构和算法-链表
代码地址单链表,双链表,循环链表代码下载地址,亲测有效单链表如果是头部插入法.尾部插入法,头部删除法,那么时间复杂度 就是O(1)循环链表怎么判断一个链表是循环链表呢?第一步:将两个节点nodeOne 和 nodeTwo 都指向头节点第二步:在while循环中,nodeOne 每次都跑一个节点 nodeOne = nodeOne.next, nodeTwo每次都跑两个节点 nodeTwo = nodeTwo.next.next第三步:如果nodeTwo追上了nodeOne,则为循环链表,如原创 2021-04-14 15:14:05 · 153 阅读 · 1 评论 -
数据结构与算法-数组
数组的特点1.一段连续的内存,只能存储相同类型的数据,只需要知道第一个索引的地址,就能快速找到其他数据优点: 查找数据快速,时间复杂度为O(1)缺点 添加,删除操作慢为啥数组的索引是从0开始?因为数组是连续的一段内存,而且数组的地址表示的是数组第一个数据的地址,比如有一个数组里面有n个数据array[0] 的地址是 100001,那么 array[1]的地址 就是 100001 + 数组类型的typeSize1,array[2]的地址 就是 100001 + 数组类型的typeSize2,原创 2021-04-12 21:51:37 · 82 阅读 · 0 评论 -
数据结构与算法-时间复杂度计算方式
概念1.时间复杂度是计算代码运行效率的重要指标,用大写的O表示2.常见的复杂度(按照从小到大) O(1) ,< O(logn) < O(n) < O(nlogn) < O(n^2 )O(x*n^2)3.在代码优化方面, O(1) , O(logn) ,O(n) ,O(nlogn) 的运行效果很好,基本优化的空间不是很大O(1) :O(1) 表示运行次数为常量 比如 只有一个 int a = 0 或者for 循环一个常量次数,即使这个常量非常大public voi原创 2021-04-12 15:59:15 · 1055 阅读 · 0 评论