
实用算法
基本一些常见的算法总结
SF_WJ
淮安
展开
-
查找算法
1、二分查找2、穷举搜索3、并行搜索原创 2020-07-25 11:29:23 · 162 阅读 · 0 评论 -
使用算法之堆排序
排序原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素找到最小(大)元素,然后放到已排序的序列的末尾,以此类推,直到全部待排序的数据元素的个数为0;实现:堆实现中的popMax()函数实现。...原创 2020-06-28 23:09:24 · 190 阅读 · 0 评论 -
实用算法之希尔排序
引入:通过插入排序,发现插入排序在某些情况下也有很多缺点,比如:{43,47,50,52,1,2}52前的元素基本不用插入操作已经是有序,元素1和2的排序几乎要移动数组前面的所有元素,于是,就有了希尔排序来优化这种尴尬。解析:希尔排序是一种插入排序,它是在插入排序的基础上进行改进的,是一种更高效的版本,也称为缩小量排序。它与插入排序的不同之处在于,它会优先比较距离较远的元素。排序原理:希尔排序是把数组按数组的增量进行分组,对每组使用直接插入排序算法排序;随着增量的减少,每组包含的元素变多,当增原创 2020-06-28 13:31:27 · 229 阅读 · 0 评论 -
使用排序是插入排序
排序原理:将未排序的数据依次插入合适的位置完成排序。算法过程:举个例子:香港小姐选美大赛中,需要根据体重从低到高进行排序。起始颜值数组:{50,43,47,52,46,45}1)把首个元素当成新的数组的开头:结果:{50} {43,47,52,46,45}2)把第2个元素位置空出来,如果前面元素比它大,再向前遍历比较,如果小,则插入:虚拟数组:{50,x} {47,52,46,45} x:代表空出来的位置结果:{43,50} {47,52,46,45}3)重复2)操作,知道右边数据没原创 2020-06-07 22:37:03 · 206 阅读 · 0 评论 -
实用算法之冒泡排序
1、为什么叫冒泡排序:在排序过程中相邻元素不断比较,交换位置,数据大(小)的慢慢向后移动,看起来就像是吐泡泡一样,所以叫冒泡排序。2、排序原理:从头开始依次比较相邻两个元素,如果前面一个元素比后面一个元素大,则交换两个元素的位置,多次从头开始遍历,直到没有可以交换的相邻2个元素为止。3、算法稳定性:如果两个相邻的元素相等,那么不需要改变位置;如果不相邻的两个元素相等,由于是两两交换,所以他们的位置也不会改变;所以冒泡排序是一种稳定的排序算法。4、算法过程:举个例子:香港小姐选美大赛中,需要根原创 2020-06-07 20:12:29 · 313 阅读 · 0 评论 -
实用算法之选择排序
选择排序是排序中最简单也是最常见的排序算法。1、算法思想/原理:首先遍历数组,从数组中找出最小(大)数与第一个数(或者最后一个数)交互位置;依次循环上面的操作,直到遍历到最后一个元素结束。2、算法过程:举个例子:香港小姐选美大赛中,需要先从低到高进行排序,方便大家观看。测量后得到无需高度:初始数组:{163,173,157,164,162,159,177}1)起初是无序的数组:原数组:{163,173,157,164,162,159,177}2)遍历无序数组,找出数组中最小值,与数组中第原创 2020-06-07 13:41:04 · 214 阅读 · 0 评论 -
常见的排序算法总结
常用的排序算法有7个,分别为:原创 2020-06-07 12:03:03 · 244 阅读 · 1 评论