【Java基础】021 -- 常见算法及API(查找、排序、Arrays)

news2024/12/24 21:43:07

目录

常见算法

1、企业中的常见算法

一、查找算法

1、基本查找(数据没有任何顺序)

①、代码实现:

②、课堂练习:

2、二分查找/折半查找(数据一定要有顺序)

①、示例情况:

②、代码实现:

③、二分查找基础小结:

④、二分查找改进:(插值查找)

⑤、二分查找改进:(黄金分割点 -- 斐波那契查找)

⑥、二分查找改进小结

3、分块查找(块内无序,块间有序)

②、扩展的分块查找(无规律的数据)

③、扩展的分块查找(查找的过程中还需要添加数据 -- 哈希查找)

4、小结

二、排序算法

1、冒泡排序

①、示例代码

2、选择排序

①、示例代码

3、插入排序

4、快速排序

①、递归算法

②、递归算法的作用

③、递归练习

④、快速排序示例(先移动end,再移动start)

5、小结

三、Arrays

1、Arrays操作数组的工具类

①、示例代码


常见算法

1、企业中的常见算法

一、查找算法

查找算法适用情况:

1、基本查找(数据没有任何顺序)

①、代码实现:

②、课堂练习:

直接在示例代码的基础上稍作修改即可

返回多个数据时,可以把这些数据放到数组或集合中

2、二分查找/折半查找(数据一定要有顺序)

①、示例情况:

②、代码实现:

③、二分查找基础小结:

④、二分查找改进:(插值查找)

缺陷:要求数组数据分布的比较均匀

⑤、二分查找改进:(黄金分割点 -- 斐波那契查找)

⑥、二分查找改进小结

3、分块查找(块内无序,块间有序)

①、示例代码

getIndex方法:

findIndexBlock方法:

定义Block类:

②、扩展的分块查找(无规律的数据)

代码实现自己写

③、扩展的分块查找(查找的过程中还需要添加数据 -- 哈希查找)

4、小结

红色:掌握

蓝色:了解

绿色:以后讲解

二、排序算法

1、冒泡排序

①、示例代码

2、选择排序

①、示例代码

3、插入排序

①、示例代码

4、快速排序

①、递归算法

示例代码:

导致栈内存溢出错误:

内存原理图:

②、递归算法的作用

③、递归练习

1、求1-100之间的和:

示例代码:

2、求阶乘

示例代码:

内存图:

④、快速排序示例(先移动end,再移动start)

代码实现:

实现全部循环步骤:

1、在快排递归方法末尾中添加基准数左右情况

2、在变量定义下方设置递归出口

3、添加测试用例

4、课后练习

5、小结

三、Arrays

1、Arrays操作数组的工具类

①、示例代码

比较数据时,分有序和无序,插入时,使用二分查找进行插入点的确认

此处不明白可以多看几遍视频,视频讲的很详细

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文搞懂ECU休眠唤醒之利器-TJA1145

前言 首先,小T请教大家几个小小问题,你清楚: 什么是TJA1145吗?你知道休眠唤醒控制基本逻辑是怎么样的吗?TJA1145又是如何控制ECU进行休眠唤醒的呢?使用TJA1145时有哪些注意事项呢? 今天&…

自动化测试的12个认识误区给后人避坑

自动化测试的12个认识误区 1、自动化的软件测试与手工的软件测试过程一样 自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。 通常,你的项目经理会被那些测试工具销售们迷惑,认为自动化的软件测试就是简单地按一个录制的按钮,产…

电脑风扇声音大怎么办?五个好用的方法【完整教程】

电脑风扇可以电脑更好地运行,但是很多小伙伴投稿,说它们的电脑风扇不知道什么原因,风扇的声音很大。电脑风扇声音大怎么办?来看本文讲解的5个原因以及对应的解决方法。 操作环境: 演示机型:Dell optiplex 7…

如何备考pmp才能一次通过?

只有努力学习PMP知识,才能一次性通过这次考试,这是大家公认的。 但一味地埋头学习是枯燥而低效,学习还是要注重方法,下面我就来谈谈PMP的学习方法,希望能够帮助到你,一把通过pmp考试。 把PMBOK当作小说来…

Redis三 高级篇-2. 多级缓存

多级缓存 《Redis三 高级篇-2. 多级缓存》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Redis三 高级篇-2. 多级缓存》多级缓存《Redis三 高级篇-2. 多级缓存》1. 什么是多级缓存2. JVM进程缓存2.1 导入案例2.2 初识Caffeine2.3 实现JVM进程缓存2.3.…

网络编程套接字Socket

一.什么是网络编程网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。二.为什么要实现网络编程我们通过网络编程可以在网络中获取资源,实质是通过网络,获…

滑动相关的原理以及用滤波器实现滑动相关(匹配滤波器捕获DMF)

目录滑动相关匹配滤波器捕获(DMF)滑动相关 滑动相关属于一种时域捕获方法,其具体原理是是通过本地序列与接收信号在固定窗长内滑动累加得到相关结果。 一般滑动相关算法可以用于对自相关性非常好的伪码进行同步判决。 我们首先生成一组自相关…

【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)

什么是HDFS HDFS是(Hadoop Distributed File System)的缩写,也即Hadoop分布式文件系统。它通过目录树定位在分布式场景下 在不同服务器主机上的文件。它适用于一次写入,多次读出的场景。 HDFS的优缺点 优点 1,高容…

leaflet 添加zoomslider,控制zoom放大缩小(074)

第074个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用zoomslider,相比于普通的zoom控件,这个更加形象,更加具体些。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共65行)相关API参考:专栏目…

14_FreeRTOS二值信号量

目录 信号量的简介 队列与信号量的对比 二值信号量 二值信号量相关API函数 实验源码 信号量的简介 信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。 假设有一个人需要在停车场停车 1.首先判断停车场是否还有空车位(判断信号量是否有资源) 2.停车场正好…

CSS 中的 BFC 是什么,有什么作用?

BFC,即“块级格式化上下文”(Block Formatting Context),是 CSS 中一个重要的概念,它指的是一个独立的渲染区域,让块级盒子在布局时遵循一些特定的规则。BFC 的存在使得我们可以更好地控制文档流&#xff0…

TensorRT中的常见问题

TensorRT中的常见问题 文章目录TensorRT中的常见问题14.1. FAQs14.2.Understanding Error Messages14.3. Code Analysis Tools14.3.1. Compiler Sanitizers14.3.1.1. Issues With dlopen And Address Sanitizer14.3.1.2. Issues With dlopen And Thread Sanitizer14.3.1.3. Iss…

STM32单片机DHT11数字温湿度监测

OLED液晶接口电路图DHT11传感器接口电路图STM32单片机DHT11数字温湿度监测程序源代码#include "sys.h" #define LED_RED PBout(12) //红色发光二极管控制管脚PB12#define LED_GREEN PBout(13) //绿色发光二极管控制管脚PB13#define LED_YELLOW PBout(14) //黄色发光二…

网络编程原理(1)

一.IP地址:标识了网络上设备所在的位置端口号:标识了一个具体的应用程序二.认识协议:发送方和接收方双方进行的一种约定,发送方约好了我发的数据是啥样的,接收方按照这个固定的格式来进行解析。如果这个协议比较大&…

MongoDB 正则表达式

MongoDB 正则表达式 正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。 MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。 MongoDB使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。 不同于全文检索,我们使…

有趣的HTML实例(十二) 早安、晚安动画(css+js)

这话在我心里已经复习了几千遍。我深恨发明不来一个新鲜飘忽的说法,只有我可以说只有你可以听,我说过,我听过,这说法就飞了,过去、现在和未来没有第二个男人好对第二个女人这样说。 ——《围城》 目录 一、前言 二、…

MySQL中的事务详解

目录 一.什么是事务 二.事务操作 演示 小结 三.事务的特性 四.事务的隔离级别 概述 四种隔离级别 脏读、不可重复读、幻读 操作 一.什么是事务 在MySQL中的事务(Transaction)是由存储引擎实现的,在MySQL中,只有InnoDB存储引擎才支持…

【动态规划】背包问题题型及方法归纳

背包问题的种类 背包问题是在规定背包容量为j的前提下,每个物品对应的体积为v[i],价值为w[i],从物品0到物品i中选择物品放入背包中,找出符合某种要求的价值。 (1)背包问题种类 01背包:每种物…

访学案例|经济学老师加急英签如期出国

N老师是学校资助的公派访学,指定英国,要求年底前出国。经过努力,我们为其落实了经济学学术研究排名位列全英第五的埃塞克斯大学。为保证预留充足的准备时间,N老师选择了超级加急的AV签证,24小时过签,最终如…

基于 VPX 总线的工件台运动控制系统研究与开发-以光刻运动台为例(一)

工件台系统是光刻机的关键子系统之一,工件台运动控制系统对实现光刻机性能指标具有至关重要的作用,因此研发工件台运动控制系统具有极其重要的工程应用价值。论文根据工件台控制系统必须具备的并行性、同步性和实时性等技术需求,建立了基于 V…