
数据结构
常用数据结构学习过程记录,以及个人建解
索悻流年
这个作者很懒,什么都没留下…
展开
-
数据结构之队列
概述 队列属于线性数据结构的一种,具有先进先出,后进后出的原则 队头 队头是指最先进入队列的数据 队尾 队头是指最后进入队列的数据 实现队列 /** * 文件创作者: 流年 * 文件描述: 实现队列 * 创建时间: 2021/6/16 16:16 */ public class Test004 { /** * 用于存储入栈的数据 */ private Object[] arr; /** * 构造方法创建数组 */原创 2021-10-27 15:46:59 · 196 阅读 · 0 评论 -
数据结构之递归
概述 递归属于线性结构的一种,通过栈不掉向下调用来计算我们想要的结果,但是它必须有一个终止条件,否则很容抛出栈溢出异常 递归的定义 在一个方法内部,调用该方法本身 实现案例 计算10 的阶乘 /** * 文件创作者: 流年 * 文件描述: 递归 * 创建时间: 2021/6/17 14:27 */ public class Test006 { public static void main(String[] args) { Integer calculation原创 2021-10-27 15:47:24 · 360 阅读 · 0 评论 -
数据结构之单向链表
概述 链表属于线性结构,采用链式存储方式,其物理地址并非连续的,只能通过指针指向下一个节点进行关联 实现代码 /** * 文件创作者: 流年 * 文件描述: 实现单向链表 * 创建时间: 2021/6/16 16:49 */ public class Test005 { public static void main(String[] args) { Node node = new Node("11"); Node node1 = new Node("2原创 2021-10-27 15:47:10 · 103 阅读 · 0 评论 -
数据结构之栈
概述 栈属于线性数据结构的一种,具有先进后出,后进先出的原则,其时间复杂度是O(1),在日常开发中,我们很少会手动实现一个栈,因为在面向对象语言中,早就已经帮我们实现过,所有我们只需要知道其原理,在面试时可以回答相关内容即可 入栈 入栈是指将数据放入栈中 出栈 出栈是指将将数据从栈中取出 栈顶 栈顶是指最后入栈的数据 栈底 栈底是指最先入栈的数据 实现栈 /** * 文件创作者: 流年 * 文件描述: 栈的实现 * 创建时间: 2021/6/16 14:51 */ public原创 2021-10-27 15:46:48 · 168 阅读 · 0 评论 -
二分查找法
概述 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列 思路 首先查找出平均数 如若平均数大于要查找的数,则查找左半边 如若平均数小于要查找的数,则查找右半边 如何计算两个数的平均值 平均值计算公式a + (b - a) / 2 案例 在1~10之间找到4 public class Test001 { public static void main(String[] args)原创 2021-06-16 14:35:43 · 262 阅读 · 0 评论