随笔分类 -  算法

墙角的花
摘要:插入排序原理 从第二个元素开始和前面的元素进行比较,如果前面的元素比当前元素大,则将前面元素 后移,当前元素依次往前,直到找到比它小或等于它的元素插入在其后面。 然后选择第三个元素,重复上述操作,直到最后一个元素。 插入排序特点 时间复杂度:插入排序同样需要两次循坏一个一个比较,故时间复杂度也为O( 阅读全文
posted @ 2020-09-06 14:16 颗粒成仓 阅读(225) 评论(0) 推荐(0)
摘要:冒泡排序原理 首先,第一个数和第二个数比较,若第一个比第二个大,则交换位置,然后比较第二个和第三个,重复往后比较; 然后,经过第一轮比较后最大的元素排到了最后; 最后,剩下的元素重复上述步骤即可 冒泡排序特点 1.稳定性:我们从代码中可以看出只有前一个元素大于后一个元素才可能交换位置,所以相同元素的 阅读全文
posted @ 2020-09-05 18:12 颗粒成仓 阅读(394) 评论(0) 推荐(0)
摘要:相关概念 堆是一种完全二叉树,即按从上到下,从左到右生成的二叉树。 堆有两种类型: 大根堆,小根堆。 大根堆:每个结点的值都大于或等于左右孩子结点。 小根堆:每个结点的值都小于或等于左右孩子结点。 计算某个节点的父节点和两个子节点 如上图,选取3这个节点,他的序号:i = 3 父节点:parent 阅读全文
posted @ 2020-09-04 18:31 颗粒成仓 阅读(209) 评论(0) 推荐(0)
摘要:排序思想 第一步:在数列中随意选取一个数,做为基准值; 第二步:数组中剩下的数与基准值依次比较,小于基准值的数放左边,大于基准值的数放右边; 第三步:左右两边的数重复第一第二步,直至排序完成 排序特点 1.稳定性:快排是一种不稳定排序,比如基准值的前后都存在与基准值相同的元素,那么相同值就会被放在一 阅读全文
posted @ 2020-09-03 22:32 颗粒成仓 阅读(237) 评论(0) 推荐(0)