首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
程序员平安
掘友等级
程序员是高危职业,希望广大程序员平安喜乐!感谢您关注我的公众号!目前公众号主要是写Java入门到架构师的相关文章。让我们一起探索编程世界的精彩之处,不断学习和成长,共同追求技术的卓越与创新!
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
最新
热门
动画:一篇文章快速学会基数排序
前面学过计数排序和桶排序都是非基于比较的排序算法,它们的优势在于对一定范围内的数据排序时可以突破基于比较排序算法的时间复杂度O(nlogn)。 基数排序是一种非比较型整数排序算法,基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machi…
动画:一篇文章快速学会桶排序
前面学过计数排序,计数排序是一个非基于比较的排序算法,它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)。 所谓桶就是存放多个数据的容器,桶排序也是非基于比较的排序算法,将待排序数据按照一定的规则存放到对应的桶中,再进行排序与合并。桶排序可以对一定范围内的数据包括…
动画:一篇文章快速学会计数排序
我们知道目前排序速度最快的是时间复杂度为O(nlogn)的排序算法,如快速排序、归并排序和堆排序。其中O(logn)是利用了分治思想进行数据二分远距离比较和交换元素的位置。之前的算法都是基于元素比较的,有没有一种算法,它的时间复杂度小于O(nlogn)呢?这样的算法是存在的。计…
动画:一篇文章快速学会堆排序
前面我们已经介绍了堆结构,也能够构造一个堆结构。如果对堆结构不了解的同学可以看一下之前的文章《动画学堆结构,一篇一看就懂的堆结构文章》。我们稍微回顾一下,根节点最大的堆叫做最大堆或大根堆,如下图: 获取最大堆的最大值,其实就是获取堆顶的元素。对于堆这种数据结构通常是将堆顶的元素…
动画:一篇文章快速学会数据结构-堆
树结构是计算机中常用的一种数据结构。我们先来看一下生活中的树: 计算机中的树和生活中的树是类似的,只不过是倒着的,树根在上,树叶在下。树上的每个组成元素都是一个节点,树根称为根节点,树枝称为分支节点,树叶称为叶子节点,如下图所示: 二叉树是:每个节点最多只能有两个子节点树。二叉…
动画:一篇文章快速学会快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。快速排序算法被列为20世纪十大算法之一,这足以说明的他的作用和重要性。快速排序是程序员必须掌握的一种排序算法。 希尔排序相当于直接插入排序的升级,它们同属于插入排序类,…
动画:一篇文章快速学会归并排序
我们以前读书时,学校会举行运动会,运动会上有很多比赛项目,比如跳远比赛。当参加跳远比赛人数比较多时,通常会将所有参赛选手分成多组,每组的同学比赛,并按成绩进行排名,最后将所有组的学生成绩汇总得到所有学生的排名。 上面案例中的所有学生跳远排名就是归并排序的思想。归并排序是一个典型…
动画:一篇文章快速学会希尔排序
冒泡排序在1956年就已经被研究。但是排序速度是比较慢的,冒泡排序的时间复杂度是O(n^2),然而在后面的很长的时间里,尽管人们发明各种排序算法(比如前面选择排序和插入排序),但时间复杂度都是0(n^2),时间复杂度似乎没法超越0(n^2)。此时,计算机学术界充斥着“排序算法不…
动画:一篇文章快速学会插入排序
插入排序是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。 我们玩扑克牌时整理扑克牌就是典型的插入排序。如下动画: 插入排序正是如此,一边摸牌,一边理牌,将摸到的牌放到已经整理好的牌中。假如我们手上已经有6,7,9,10,手上摸到的是8。处理方式就…
动画:一篇文章快速学会选择排序
第一次从待排序的数据中选出最小的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。 一般没有特殊要求排序算法都是升序排序,小的在前,大的在后。 数组由{6, 5, 4, 1, 3,…
下一页
个人成就
文章被点赞
9
文章被阅读
6,731
掘力值
267
关注了
12
关注者
3
收藏集
1
关注标签
10
加入于
2019-09-02