![](https://img-blog.csdnimg.cn/20201022162900833.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
深入学习数据结构
kiritokp
做好每一件想做的事。
展开
-
超详细十大经典排序算法总结(C语言实现)
0、算法概述 0.1、算法分类 十种常见的算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 比较和非比较的区别:常见的快速排序、归并排序、堆排序、冒泡排序等属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置..原创 2020-10-14 11:09:49 · 1678 阅读 · 0 评论 -
Java冒泡排序(详解!!!)
Java冒泡排序一、算法原理二、算法步骤三、代码实现 一、算法原理 例如我们有一个数组,我们如果需要把较大的元素排在后面,把小的元素排在前面,那么需要从头部到尾开始比较操作: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 二、算法步骤 有一个数组:9, 1, 2, 0, 5,原创 2020-08-31 14:47:19 · 1233 阅读 · 0 评论