目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7089.1k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(9.2k)
赞(0)

常见算法

image-20220210183947490

本节课讲解冒泡排序、二分法查找(折半查找)等常见的算法。大家如果想更好的理解,可以看这个网站(上面可以根据程序执行看到动画效果):https://visualgo.net/

冒泡排序算法

冒泡排序是最常用的排序算法,在笔试中也非常常见,能手写出冒泡排序算法可以说是基本的素养。本节讲解冒泡的基础算法和优化算法,既提高大家算法的素养,也可以从容面对找工作时JAVA的笔试题目。

冒泡排序的基础算法

冒泡排序算法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。

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

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

image-20220210184136791

【示例】冒泡排序的基础算法

冒泡排序的优化算法

我们可以把上面的冒泡排序的算法优化一下,基于冒泡排序的以下特点:

  1. 整个数列分成两部分:前面是无序数列,后面是有序数列。
  2. 判断每一趟是否发生了数组元素的交换,如果没有发生,则说明此时数组已经有序,无需再进行后续趟数的比较了。此时可以中止比较。

image-20220210184345597

【示例】冒泡排序的优化算法

执行结果如图所示:

image-20220210184558282

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2