请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需要一步,快速开始

搜索
开启左侧

程序员大佬带你领略“所有在Java中实现的算法”,纯正干货!

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
所有使用Java实现的算法(用于教育)
这些仅用于演示目的。在Java标准库中有很多类型的实现,出于性能原因而更好。
排序算法

泡沫

154511heev3i64uv65zv0s.jpg

从维基百科:冒泡排序,有时被称为排序下沉,是一个简单的排序算法通过列表反复步骤进行排序,每对相邻的项目进行比较,并交换它们,假如他们是在错误的顺序。重复通过列表,直到不需要交换,这表示列表被排序。
获取源码,项目讲解,知识点分享,学习交流,那就加入小编的学习交流群吧!
616 959 444
属性


  • 最坏情况O(n ^ 2)
  • 最佳情况表现O(n)
  • 平均情况表现O(n ^ 2)
插入

154511flhvzfzheev1zenl.jpg

从维基百科:插入排序是一个简单的排序算法,它一次构建最终排序的数组(或列表)一个项目。对于大型列表而言,比诸如快速排序,快速排序或合并排序之类的更高级的算法效率要低得多。
154512tu1djuqpjpedu4iu.jpg

属性

  • 最坏情况O(n ^ 2)
  • 最佳情况表现O(n)
  • 平均情况表现O(n ^ 2)
合并

154513fwp8u8kkeevsoswz.jpg

从维基百科:在计算机科学中,归并排序(通常也被拼写归并)是一种高效,通用的,基于比较的排序算法。大多数实现产生稳定的排序,这意味着实现保留排序输出中相等元素的输入顺序。Mergesort是一种分裂和征服算法,由约翰·冯·诺依曼在1945年发明。
属性

  • 最坏情况O(n log n)
  • 最佳情况表现O(n)
  • 平均情况表现O(n)
选择
154513k00nz3qqmqmm7lq9.jpg

从维基百科:该算法将输入列表分为两部分:已经排序的项目的子列表,从左到右在列表的前面(左侧)建立,以及剩余的要排序的项目的子列表占用剩下的列表。最初,排序的子列表是空的,未排序的子列表是整个输入列表。算法通过在未排序的子列表中找到最小(或最大,取决于排序顺序)元素,将其与最左边的未排序的元素(按排序顺序排列)交换(交换),并将子列表边界移动到一个元素到右边。
获取源码,项目讲解,知识点分享,学习交流,那就加入小编的学习交流群吧!616 959 444
属性

  • 最坏情况O(n ^ 2)
  • 最佳情况表现O(n ^ 2)
  • 平均情况表现O(n ^ 2)
查看动作中的算法:

选择排序

动画,代码,分析和讨论选择排序在4个初始条件
154514ajxpz3n33rm83833.jpg

154514xxg7g1pgin4xngzq.jpg

154514etnyrxgtvmdo1ayt.jpg

算法:



  • 插入
  • 选择
  • 泡沫
  • 贝壳
  • 合并


  • Quick3
初始条件:



  • 随机
  • 几乎排序
  • 反向的
  • 几个独特
问题大小:



  • 20
  • 三十
  • 40
  • 50
键:



  • 黑色值被排序。
  • 灰色值未排序。
  • 红色三角形标记算法位置。
  • 深灰色值表示当前间隔(shell,merge,quick)。
  • 一对红色三角形标记左右指针(快速)。
讨论:

这些页面在4个不同的初始条件下显示8种不同的排序算法。这些可视化旨在:

  • 显示每个算法的运作方式。
  • 显示没有最佳排序算法。
  • 显示每种算法的优缺点。
  • 显示更糟糕的渐近行为并不总是选择算法的决定因素。
  • 显示初始条件(输入顺序和密钥分配)与算法选择一样影响性能。
理想的排序算法将具有以下属性:

  • 稳定:等重键不重新排序。
  • 操作到位,需要O(1)额外的空间。
  • 最坏情况O(n·lg(n))密钥比较。
  • 最坏情况O(n)互换。
  • 自适应:当数据几乎排序时或几个唯一键时,速度可达O(n)。
没有具有所有这些属性的算法,因此排序算法的选择取决于应用程序。
154515qb0qu277uebz7b77.jpg

获取源码,项目讲解,知识点分享,学习交流,那就加入小编的学习交流群吧!616 959 444
排序是一个很大的话题; 本站讨论数组内存通用算法的主题。外部排序,小数排序,字符串排序和链接列表排序 - 所有精彩和有趣的主题 - 被故意省略以限制讨论的范围。
感谢各位大佬的观看,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

  • 0 关注
  • 0 粉丝
  • 2 帖子
广告招商