随笔分类 - CS专业课 / 数据结构与算法
Java实现
摘要:1. 求单链表中有效结点的个数 /** * 获取单链表的有效结点个数(头结点不算) * @param head 链表头结点 * @return 有效节点个数 */ public static int getLength(HeroNode head) { if (head.next == null)
阅读全文
摘要:1. 简单介绍 链表是一组任意的存储单元,通过指针链接,串成一个链子 数据元素的存储映象,称为 [结点],由两部分构成 数据域:用来存储数据 指针域:存储后继结点的地址 专业术语 头结点:数据域不存储信息;指针域存储 [首结点] 的地址 首结点:第一个存放有效数据的结点 尾结点:最后一个存放有效数据
阅读全文
摘要:数据结构和算法是相辅相成的。数据结构是为算法服务地,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。 数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。
阅读全文
摘要:1. 应用场景 情景:编写的五子棋程序中,有 [存盘退出] 和 [续上盘] 的功能。 分析:因为该二维数组的很多值是默认值 0,因此记录了很多没有意义的数据 → 稀疏数组。 2. 基本介绍 当一个数组中大部分元素为 0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法 记录数
阅读全文
摘要:1. 简单介绍 队列是一个有序列表,可以用数组或是链表来实现 遵循先入先出的原则。即:先存入队列的数据,要先取出;后存入的要后取出 一个应用场景:排队 2. 数组模拟队列 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 front 及 rear 分别记录队列前后端的下标,front 会随
阅读全文
