这里写目录标题

  • 排序
    • 排序的分类
  • 冒泡排序:
    • 如何判断是否为排序好的数组
  • 选择排序
    • 注意事项:
  • 递归
    • 递归案例
  • 折半查找 二分查找
    • 折半查找的代码查询
    • 二分查找之递归查询
  • 时间复杂度和空间复杂度

排序

排序的分类


我们之前通过代码实现的排序就是内排序
我们如果想要真正的学会,必须要掌握简单选择排序和冒泡排序

冒泡排序:

冒泡排序的话就是两两相比较,把最大的移到最前面

代码:

上面只是第一趟,那么已经确定了一个最大值,那么接下来比较,只需要比较6次即可
总体一结合就是这样

如何判断是否为排序好的数组

在第一个数组内部,定义一个布尔类型的变量,如果在进入循环的时候,把结构设置为true,也就是第一次排序后,没有任何移动的话,那么数组布尔就不会变成false

选择排序

选择排序,其实就是在例表中寻找最小值,然后把他移到前面


全部效果

注意事项:

递归



递归案例

实现斐泼那契数列

折半查找 二分查找


掌握二分查找的过程,其因为是有序排列的列表结构,其原理就是有一个头部,尾部,然后中间值

如果查找75的话,会从中间值开始计算,是在前面,还是在后面,如果在前面,那么尾部就会跑到一开始的中间位置

如果是小于中间值,那么尾部就会移到中间位置加1
如果是大于中间值,那么尾部就会移到中间位置减1

通过这种方式快捷查找

折半查找的代码查询

上面只是走一次的
但是我们判断可不止是简单的走一次,需要循环判断,直到筛选出结果


输入方法调用

在数组中有一个方法:
同样也是应用了二分查找的方法

二分查找之递归查询

使用递归来代替之前的循环

时间复杂度和空间复杂度


java初级程序员必备的算法和数据结构入门只是,编程界的敲门砖,算法合集,简单详细相关推荐

  1. 524页《Java中高级程序员必备核心知识》总结,令人犹如醍醐灌顶

    说在前面 知乎上有个很热门的话题:中国的程序员数量是否已经饱和或者过剩? 今年大家都有一个共同的感受:工作不好找,面试越来越难. 其实,造成这种现象不仅是因为今年受疫情影响,倒闭了很多公司,很多公司缩 ...

  2. 总结《Java中高级程序员必备核心知识》,令人犹如醍醐灌顶

    说在前面 知乎上有个很热门的话题:中国的程序员数量是否已经饱和或者过剩? 今年大家都有一个共同的感受:工作不好找,面试越来越难. 其实,造成这种现象不仅是因为今年受疫情影响,倒闭了很多公司,很多公司缩 ...

  3. java初级程序员考试_Java初级程序员必须要知道的10个基础面试题

    Java初级程序员一般在业内定义为刚毕业或者工作1-2年的新人,对于Java初级程序员,经常面试中会被问到很多基础知识,因为基础知识可以考察个人对专业知识的基础有多扎实. Java 关于基础面试题小编 ...

  4. 初级程序员软考重点6 数据结构与算法

    初级程序员软考重点6:数据结构与算法 一.数据结构和算法 1. 逻辑结构 (1)线性结构 (2)非线性结构 2. 存储结构 3. 顺序表 4. 链表 二.数组和字符串 三.矩阵 1. 特殊矩阵 2. ...

  5. java初级程序员简历上不能写,但是不能不会的项目!

    今天给大家讲讲找工作之前要练习写哪些项目,简历上的项目经验怎么写(初级程序员,没有工作过的实习生). 目录 一:练习哪些项目 二:简历上应该怎么写 一:练习哪些项目 1.J2SE记账本 本项目是基于S ...

  6. java初级程序员提高_初级Java程序员如何发展、晋升?

    近年来,Java培训非常火热,因为通过学习Java编程语言可以快速获得就业,这无疑是毕业生就业压力大的捷径.在学习Java编程之后,你能仅仅是一个Java程序员吗?或者是Java程序员,具体的位置是什 ...

  7. 为什么现在JAVA初级程序员要求这么高?

    点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 据我所知,如同18年的Python,学的人越多,越容易供大于求,越容易卷,要求越高! 当 ...

  8. 解答Java初级程序员该如何解决这些问题

    1.怎么样可以尽快拿到offer? 针对心仪的企业.岗位进行调查.可以上招聘网站看看其岗位要求,以及企业的面试题.然后针对性的学习其要求的技术.这样有针对性的准备,投其所好,就可更快的获取你象要的of ...

  9. Java初级程序员与ChatGPT(文心一言)使用感受

    前言: 随着23年三月初开始ChatGPT迅速发展,爆红网络.也有不少人说这个东西会顶替程序员.刚好身边同事有一个需要是读取word文档中的内容,保存到数据库. 我们就用百度的文心一言试下吧. 交互开 ...

  10. google浏览器插件 开发 获取页面指定数据_程序员必备的4款Chrome插件,编程神器...

    一直有粉丝留言,想要大侠推荐几款程序员使用的插件,大侠特意去问了隔壁的程序员哥哥,终于被我问出了这4款编程神器!这4款插件不仅仅是提高效率那么简单哦,还可以让你的Chrome浏览器变得高端大气,一起来 ...

最新文章

  1. 参加UI设计培训要学多久
  2. oracle job的迁移
  3. Mysql性能优化实践
  4. vue 分模块打包 脚手架_vue-cli分模块独立打包
  5. Linux查看CPU型号及内存频率及其它信息与清理内存的命令
  6. 《剑指offer》孩子们的游戏---约瑟夫问题
  7. 统计学作业4 概念
  8. 7.UrlHelper
  9. COMSOL Multiphysics 多物理场仿真学习小记
  10. 计组实验-CPU设计-指令添加
  11. MongoDB的一些基本使用
  12. 道士后期时的技能运用有哪些
  13. Linux安装glassfish、利用glassfish部署应用
  14. 安全狗2周年“全民大抽奖”活动
  15. 不用action提交表单——JS实现
  16. 物流订舱运输成本 广州力其
  17. 服务器ras6000系列,再看IBM System x M3系列服务器的RAS特性
  18. java json导入excel_java 导入json生成excel
  19. 在全球超大规模协作中寻找创新机会:远程协作、分布式、开源、新型组织、群体智能...
  20. 电脑考证必须用五笔输入吗

热门文章

  1. 哎呀,人家不小心变油腻了呢
  2. c语言中数字符的知识点,2019年全国计算机二级C语言必背知识点总结
  3. linux wsdl2java_Web Service开发之利用WSDL生成Java工程
  4. 【情感识别】基于matlab KNN算法语音情感识别【含Matlab源码 542期】
  5. 【优化选址】基于matlab穷举法求解小区基站选址优化问题【含Matlab源码 439期】
  6. 【风电功率预测】基于matlab粒子群算法优化BP神经网络风电功率预测【含Matlab源码 347期】
  7. java jlist组件_Java中Jlist的Swing组件
  8. mysql数据库计算全部女生_数据分析mysql入门到精通(1)
  9. Latex:利用BibTeX批量导入参考文献
  10. c++ sort排序函数