数据结构和算法
阿演
将下一段苦涩换成俏皮的语言写在代码注释里,永远不能放弃希望,就像我们在修bug的路上
展开
-
使用二分查找在有序数组里面查找元素
返回所有跟所求值匹配的元素下标public class BinarySearch { public static void main(String[] args) { int[] arr = {1, 3, 22, 22,444, 534, 1000}; List<Integer> resultIndex = binarySearch(arr, 0, arr.length - 1, 22); System.out.println(res原创 2020-08-04 17:06:55 · 473 阅读 · 0 评论 -
单链表双链表的实现和常见问题
什么是链表?1,链表是以节点的方式存储的,链式存储2,每个节点包含data域,next域指向下一个节点3,链表的各个节点不一定是链式存储的4,链表分带头节点的链表和不带头结点的链表下面用代码实现一个单向链表首先定义一个类用来存储到链表中/** * 定义HeroNode,每个HeroNode对象就是一个节点 */public class HeroNode { public int no;//编号 public String name;//名字 pub原创 2020-06-17 11:34:22 · 456 阅读 · 0 评论 -
java使用数组模拟队列、环形队列
什么是队列?队列是一个有序列表,可以用数组或链表来实现。遵循先入先出的原则。我们来用代码实现一个简单的队列public class ArrayQueue<T> { private int maxSize;//表示数组的最大容量 private int front;//队列头 private int rear;//队列尾 private T[] arr;//用于存放数据的数组 public ArrayQueue(int arrMaxSize){原创 2020-06-06 17:01:53 · 244 阅读 · 0 评论 -
二维数组的压缩存储,稀疏数组
在二维数组只有少部分有效数据的时候,为了不存储过多的无效数据,我们可以使用稀疏数组来存储二维数组。下面是一个五子棋的残局,用二维数组表示之后,会发现有很多0的无效数据,这个时候就可以使用稀疏数组保存二维数组。...原创 2020-06-06 11:08:19 · 1611 阅读 · 0 评论