北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟高新校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

黑马程序员-排序方法小结

发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉宏鹏

  作为一个初学者,排序算法可能是接触到的早的逻辑实例了,而且这些个逻辑还确实有点伤脑筋,为此北大青鸟光谷校区老师特地为学生总结以下内容:

  一、冒泡排序

  直接、更好理解、初学者容易想到的排序算法!但是好像效率在大量的数据方面有些不足。

  冒泡排序算法的运作如下(升序):

  1.比较相邻的元素。如果个比第二个大,就交换他们两个。

  2.对每一对相邻元素作同样的工作,从开始对到结尾的后一对。在这一点,后的元素应该会是更大的数。

  3.针对所有的元素重复以上的步骤,除了后一个。

  4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  用java代码实现:

  二、选择排序

  先在未排序序列中找到小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

  这种方法因为每一次只需要交换一次特定的数据,所以可以将需要交换的数据记录到内存里边,等一轮判断完毕之后,再交换存放在堆中的数据,这样可以提高效率。。

  用java代码实现

  三、插入排序

  工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。就是将数组个值看做有序的,从后每一个值放进来的时候,找放的位置。这里边就需要一些已经排好的数据可能会整体左移或者右移,所以用插入排序的算法也可以找到新数据存放到有序数组中的位置

  用java代码实现:

  以上是三种基本的排序算法,现在效率高的并不在里面,而是一种叫做希尔排序的算法,如果学生有兴趣的话可以继续深入了解!

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟武汉校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出

Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.