随笔分类 -  数据结构与算法

摘要:单项环形链表 约瑟夫环问题 设编号为1,2,3,...n的n个人围坐一圈,约定编号为k(1 nums) { throw new RuntimeException("参数输入有误!"); } createSingleCircleLinkedList(nums); Node pre = first; / 阅读全文
posted @ 2019-12-10 20:03 ねぇ 阅读(245) 评论(0) 推荐(0)
摘要:双向链表 首先来分析一个上篇文章中单向链表的缺点: 1. 单向链表查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 2. 单向链表不能自我删除,需要靠辅助节点,而双向链表则可以自我删除。所以前面进行单链表删除的时候,我们总是找到待删除节点的上一个节点。 双向链表也叫双链表,是链表的一种,它 阅读全文
posted @ 2019-12-09 20:50 ねぇ 阅读(291) 评论(0) 推荐(0)
摘要:单链表 简单介绍: 链表是以节点的方式链式存储的 每个节点包含data域、next域:指向下一个节点 链表的各个节点不一定是连续存储的 链表分为带头节点的链表和没有头节点的链表,根据实际需求来确定 实例分析 将水浒传中的英雄作为节点,关于单链表的增删查操作 面试题 1、查找单链表中的倒数第k个节点 阅读全文
posted @ 2019-12-05 19:49 ねぇ 阅读(299) 评论(0) 推荐(0)
摘要:队列 队列介绍 1. 队列是一个有序列表,可以用数组或是链表实现 2. 遵循先入先出原则。即:先存入队列的数据,要先取出,后存入的后取出 数组模拟队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量 因为队列的输入、输出是分别从前后 阅读全文
posted @ 2019-12-05 19:47 ねぇ 阅读(228) 评论(0) 推荐(0)
摘要:稀疏数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 如下图所示: 稀疏数组的处理方法: 1. 记录数组一共有几行几列,有多少个不同的值; 2. 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模; 稀疏数组转换思路 二维数组转 阅读全文
posted @ 2019-11-27 22:55 ねぇ 阅读(265) 评论(0) 推荐(0)