排序算法
排序算法学习
寂寞旅行
编程原则>>>不写代码: 不修改原有代码,尽量不增加新代码,不重复造轮子
在开始的几年中,在csdn中查到了解决开发问题的方法,现在也想成为帮助他人的一份子,出一份力;记录工作点滴困难,让后来者少走弯路;从涉及springboot,springcloud全家桶,mybatis,mp,influxdb,nebula,mysql,redis,mongodb,rabbitmq,多线程编程,分布式锁,html,jsp,jquery;取得系统集成中级证书;
展开
-
【算法基础】:(二)希尔排序
可以看到希尔排序的核心思想是分组,然后排序;例如长度为n第一次 步长 = n/2 ,也就是将元素进行分组,将所有i+=步长 分为一组,然后进行组内排序;第二次 步长= 步长/2 ,再次将所有元素分组,将所有i+=步长 分为一组,然后进行组内排序;…直到步长为1,相当于所有元素都在同一组内,然后进行排序,至此循环结束;完成排序;原创 2022-11-08 09:07:40 · 346 阅读 · 0 评论 -
【算法基础】:(四)选择排序
可以看到选择排序的核心思想是利用两层循环,外层循环控制第i个要交互的元素内层循环首先比对i 到集合末尾中最小的一个,找到后与外层循环的i元素进行交互也就说,每次执行,都会将把比i索引所在元素小,且最小的一个,移动到i位置,这样达到了排序效果。原创 2022-11-15 16:33:52 · 122 阅读 · 0 评论 -
【算法基础】:(三)插入排序
可以看到希尔排序的核心思想是当前元素与之前的每个元素比较,相当于每个元素之前的顺序都是排好序的,之后的元素都是乱序的,按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。原创 2022-11-14 16:21:31 · 132 阅读 · 0 评论 -
【算法基础】:(一)冒泡排序
可以看到冒泡排序采用的是双层循环;第一层循环,是控制要进行多少次(集合长度)的整体循环次数;第二层循环,是来用于相邻的两个元素进行比较,保证一次外层循环能将所有相邻元素都比较一次,然后交换位置;对于从小到大的排序来说,一次外层循环,内部经过多次长度减一次比较,将最大值放到了最后一位;原创 2022-11-08 08:46:42 · 127 阅读 · 0 评论