算法和数据结构
文章平均质量分 70
BaldHead's Blog
世上唯有贫穷可以不劳而获
展开
-
Linked List 单向链表
Linked List 链表的理解 小结 链表是以节点的方式来储存的 每个节点包括 data域:存放数据,next域:指向下一个节点 如图:发现链表的各个节点不一定是连续储存的 链表分为带头节点的链表和没有头结点的链表,这样根据实际需求而定。 单向链表 添加 添加到最后 找到链表的最后一个节点[通过节点的next == null] 将最后这个节点的next指向新的节点 //初始化一个头结点,里面什么都不放 HeroNode head = new HeroNode(0, "", "");原创 2020-09-13 00:01:26 · 153 阅读 · 0 评论 -
数组模拟队列 以及队列的复用(环形队列)
使用数组模拟队列 初始化队列 private int front; 指向队列头的第一个元素 privat int maxSzie; 设置队列的最大长度 private int rear; 指向队列尾的最后一个元素的后一个位置,留出一个位置作为约定 因为需要留出一个位置作为约定,那么当数组的maxSize == 4;的时候有效数据的个数就等于3个 private int[] arr; 使用数组来存储数据,模拟环形队列 那么队列就会形成一个圆环形状的 如下图: 通过分析可以得出front == rear的时候原创 2020-09-10 18:13:12 · 148 阅读 · 0 评论 -
二维数组与稀疏数组的转换---dataStructures
首先我们看一个需求 在11 * 11 的五子棋的棋盘中 我们使用0代表十字交叉点也是无效的数据 用1代表黑棋 用2代表蓝棋 那么所看到的棋盘如下 改用数字显示后就如一下样式 现在我们需要将怎个棋盘存储起来,但是又发现有很多为0 的无效数据,那么我们就需要考虑将有效的数据存储无效的数据不用存储起来 这样我们就可以使用***稀疏数组***将数据存储起来 稀疏数组 稀疏数组有一定会有三行,列是随有效数据的个数而变化的,先看一个稀疏数组的大概样子 二维数组转换为稀疏数组的思路 第一部 需要遍历稀疏数原创 2020-08-22 18:41:21 · 107 阅读 · 0 评论