当前位置: 首页 > news >正文

【零基础学java】常用算法(具体练习)

基本查找

:通过遍历方式实现,比较是否相等,效率较低

(算是一个很基础的算法,但还是有很多细节的,方法的返回值类型,带参方法的参数选取(明确方法要做什么,完成什么需求,用到什么参数,进行传递,正如所示代码,在数组中查找数据,肯定需要数组,和所需查找的元素,因此方法中传入这两个参数,在调用方法是进行赋值))

其中还有一个注意点(返回值写在循环的外面,不然循环还没结束就停止了)

二分查找

:数组中的数据必须是有序的,每次排除一半的查找范围(如果数据是乱的,先排序再

二分法查找,得到的索引没有实际意义,只能确定当前数字在数组中是否存在,因为排序之后数字的位置就发生变化了)


(明确二分查找的步骤,注重的是思维,注意的点同上)

插值查找

:二分查找改进,把middle值作了偏移。(middle尽可能的靠近要查找的数据,但是要求数据尽可能的分布均匀)

斐波那契查找

:mid=min+黄金分割左半边长度-1(拓展,后面会补充,感兴趣的可以点个关注)

分块查找

:前一块中的最大数据,小于后一块中所有的数据(块内无序,块间有序)
块数数量一般等于数字数量开根号
先确定要查找的元素在哪一块,然后在块内挨个查找

(原谅我还没写完,代码有点小复杂,明天补上)

http://www.gsyq.cn/news/118433.html

相关文章:

  • Rod性能优化实战:从慢到快的3大瓶颈突破方案
  • WGPU性能调优实战:从卡顿到流畅的终极指南
  • web rce 命令注入 过滤cat 过滤空格 过滤目录分隔符 过滤运算符 综合过滤练习
  • EmotiVoice日志分析:定位语音生成异常原因
  • Docker快速部署Claude AI应用:从零到一的完整指南
  • 微机原理复习AHUT
  • WezTerm:解决现代开发者的终端效率困境
  • Oracle VirtualBox 安装centos7 采用 网络地址转换(NAT) 虚拟机的文件共享给宿主机访问和修改
  • 像素艺术创作工具终极指南:从零开始掌握复古游戏开发
  • 解锁Python进度条新境界:alive-progress自定义动画全攻略
  • Agent Zero多语言体验终极指南:让AI助手说你的语言
  • 主观听感测试:用户对EmotiVoice的真实评价
  • 高效进程通信进阶:Linux信号队列高级用法揭秘
  • Champ开源社区治理完整指南:模块化协作开发实战解析
  • 商场促销语音自动生成:营销提效利器
  • 如何轻松实现Awesomplete主题切换:3种实用方法详解
  • 容器化部署AI服务的终极指南:3步完成Claude应用搭建
  • Mermaid在线编辑器:零代码基础也能轻松制作专业图表
  • Instinct模型:下一代AI代码编辑革命,6.4倍效率提升的智能编程助手
  • 智能体记忆革命:ADK-Python如何重塑AI Agent状态管理
  • WebRL-Llama-3.1-8B:浏览器自动化革命,让AI成为你的网页操作专家
  • 极速部署指南:打造专属transfer.sh文件分享服务
  • Kubernetes AI服务编排:15分钟构建企业级智能平台的完整蓝图
  • 人工智能训练师认证教程(2)Python os入门教程
  • Cocos事件优先级:从“抢戏“到“默契配合“的进阶指南
  • Wan2.1-I2V-14B:颠覆传统AI视频生成的智能引擎
  • Gymnasium实战避坑指南:我亲测有效的3个开发效率提升技巧
  • 魔兽争霸III修复终极方案:全面兼容性优化指南
  • 我用Python写了个脚本,每天自动发100条外链,SEO流量暴涨300%
  • 从0到1实战:如何用Dolphin轻松搞定复杂文档解析难题