随笔分类 - java数据结构与算法
java数据结构与算法
摘要:位运算符 含义 运算符 示例 左移 << 0011 ⇒ 0110 右移 >> 0110 ⇒ 0011 按位或 | 0011 | 1011 ⇒ 1011 按位与 & 0011 & 1011 ⇒ 0011 按位取反 ~ 0011 ⇒ 1100 按位异或(相同为零不同为一) ^ 0011 ^ 1011 ⇒
阅读全文
摘要:链表:双链表 一、 双向链表的操作分析和实现 (使用带head头的双向链表实现 —— 水浒英雄排行榜) 1、管理单项链表的缺点分析: 单项链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找 单项链表不能自我删除,需要靠辅助节点,而双向链表,可以自我删除,所以单链表删除节点时,总是找到te
阅读全文
摘要:链表:单链表 一、链表介绍 链表是有序的列表,但是它在内存中是存储如下: 小结如上图: 1)链表是以节点的方式来存储,是链式存储 2)每个节点包含data域,next域:指向下一个节点 3)如图:发现链表的各个节点不一定是连续存储(即地址不是连续的) 4)链表分带头节点的链表和没有头节点的链表,根据
阅读全文
摘要:队列:数组模拟环形队列 一、思路分析 对之前的数组模拟队列的优化,充分利用数组,将数组看作是一个环形(通过取模的方式来实现即可) 分析说明: front变量的含义做一个调整:front指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素,front的初始值为0 rear变量的含义做
阅读全文
摘要:队列:数组模拟队列 一、队列介绍 1)队列是一个有序列表,可以用数组或是链表来实现 2)遵循先入先出的原则。即:先存入队列的数据,要先取出,后存入的要后取出 3)示意图:(使用数组模拟队列示意图) 二、数组模拟队列思路 1)队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图
阅读全文
摘要:稀疏数组 ps:记录韩顺平数据结构与算法 一、需求分析 因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据,可采用稀疏数组解决此问题。 二、基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1)记录数组一共有几行几列,有多
阅读全文

浙公网安备 33010602011771号