算法
文章平均质量分 50
zpy66669
这个作者很懒,什么都没留下…
展开
-
常见数据结构
数据结构概述 数据结构是计算机底层存储,组织数据的方式,是指数据相互之间是以什么方式排列在一起的 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率 栈 后进先出,先进后出 手枪弹架先压入的子弹后打出 队列 先进先出,后进后出 去银行取钱取号,按顺序叫号 数组 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同(元素在内存中是连续存储的) 删除效率低 添加效率低 链表 链表在元素是在内存中不连续存储的,每个元素节点包含数据值和下一个元素的地址 链表中的元素是游离存储的,原创 2022-05-06 20:56:48 · 405 阅读 · 0 评论 -
Java二分查找
二分查找 必须是有序数组才可以查找哦 思路 为什么说二分查找的效率最高呢?因为每一次选择数字,无论偏 大还是偏小,都可以让剩下的选择范围缩小一半。 所以我们先定义这个数组的开头下标left=0; 然后在定义这个数组结尾的下标为right=arr.length-1; 由于我们不知道要进行多少次循环,这里我们使用while循环,当left<=right我们结束循环 我们需要定义一个中间数,不要纠结这个中的位置,int mid = (left+right)/2,这里我们要考虑一个问题,可能会溢出,如果数组原创 2022-04-24 16:33:54 · 397 阅读 · 0 评论 -
Java八大排序之选择排序
选择排序的思想 每轮选择当前为啥,开始找出后面的较小值与该位置交换 选择排序的关键 确定总共需要选择几轮:数组的长度-1 控制每轮从以前位置为基准,与后面元素选择几次 时间空间复杂度 时间复杂度:O(n²) 空间复杂度:O(1) 动态图演示 代码演示 public static void main(String[] args) { int[] arr = {8,3,7,5,1,2}; XZPX(arr); } public static void原创 2022-04-21 18:40:47 · 939 阅读 · 0 评论