java数据结构
文章平均质量分 68
该专栏为数据结构的java版本,通过本专栏的学习,可以对数据结构有充分的认识,提升编程思维
可爱的鸡仔
河南师范大学在校学生
展开
-
java数据结构--二叉树
是一种树状结构,其中每个节点最多有子节点,被称为和。:二叉树的最顶层节点被称为根节点。它没有父节点,是整个树的起点。:每个节点最多有两个子节点,分别称为左子节点和右子节点。左子节点在树结构中位于父节点的左侧,右子节点在右侧。:没有子节点的节点被称为叶节点,也被称为终端节点。叶节点位于树的最底层。:每个节点的上一层节点被称为父节点。每个节点除了根节点都有一个父节点。:拥有相同父节点的节点被称为兄弟节点。:节点的深度是指从根节点到该节点的路径上的节点数。:节点的高度是指从该节点到树的最底层叶节点的最长路径。原创 2023-11-14 16:39:24 · 81 阅读 · 0 评论 -
java数据结构--堆
堆排序是一种基于堆数据结构的排序算法,它具有稳定性和不需要额外的内存空间的优点。在大顶堆中,任意节点的值都大于或等于其子节点的值,但是它们之间的顺序并没有固定的要求,即左右子节点之间的大小关系并不要求一定是有序的。在数组中,堆的根节点存储在索引为0的位置,而任意节点i的左子节点存储在索引为。其子节点的值,但是它们之间的顺序并没有固定的要求,即左右子节点之间的大小关系并不要求一定是有序的。在数组中,堆的根节点存储在索引为0的位置,而任意节点i的左子节点存储在索引为。同时,堆还有其他用途,比如内存管理中的。原创 2023-11-12 12:41:23 · 412 阅读 · 0 评论 -
java数据结构--阻塞队列
是一种特殊类型的队列,具有额外的阻塞操作。在阻塞队列中,当队列为空时,从队列中获取元素的操作会被阻塞,直到有元素被添加到队列中为止;当队列满时,向队列中添加元素的操作会被阻塞,直到队列有空闲位置为止。阻塞队列在多线程编程中非常有用,可以有效地进行线程间的协调和通信。它提供了一种线程安全的方式来共享数据,避免了常见的并发问题,如资源争用和死锁。阻塞队列提供了一些常用的操作方法,如put()和take()等。put()方法用于向队列中添加元素,并在队列满时阻塞调用线程;原创 2023-11-10 22:10:56 · 874 阅读 · 0 评论 -
java数据结构--优先级队列
是一种特殊类型的队列,它根据每个元素的进行排序和访问。较高优先级的元素将在较低优先级的元素之前被处理。优先级队列可以使用不同的数据结构实现,包括。其中,二叉堆是实现优先级队列的常见选择。优先级队列在各个领域中的应用非常广泛,例如。原创 2023-11-09 16:53:41 · 197 阅读 · 0 评论 -
java数据结构--双端队列
*** 双端队列*///队头添加元素//队尾添加元素//队头取元素并删除该元素//队尾取元素并删除该元素//队头取元素//队尾取元素//是否为空//是否为满。原创 2023-11-08 16:20:28 · 382 阅读 · 0 评论 -
java数据结构--栈
栈是一种先进后出的线性结构,你可以把它看做为一个弹匣,进栈就是把子弹压入弹匣,出栈就是射击一次,把子弹弹出弹匣,下面我们用java来实现一下栈的结构。原创 2023-10-05 17:07:09 · 70 阅读 · 0 评论 -
java数据结构--队列
*** 向队列尾添加元素* @return 添加成功返回true,添加失败返回false*//*** 从队列头删除一个节点,并取出该元素* @return 队头元素*/E pull();/*** 从队列头取出该元素,但是不删除该节点* @return 队头元素*/E peek();/*** 判断队列是否为空* @return 空为true,非空为false*//*** 判断队列是否为满* @return 满为true,不满为false*/原创 2023-09-29 19:58:40 · 69 阅读 · 0 评论 -
java数据结构--单向链表
用内部类的方式来定义链表的属性//头节点为空注意:这里的索引都是从1开始的,不是从0。原创 2023-08-14 21:19:33 · 42 阅读 · 0 评论 -
Java数据结构--数组实现
/逻辑大小//初始容量大小//将该数组初始化为一个空的属性有三个:逻辑大小size, 数组容量capacity, 还有底层存储的实际数组array这里可以直接定义好容量大小,也可以先暂时设置为空数组,后期在向数组添加元素的时候在进行设置容量。原创 2023-08-06 21:04:34 · 184 阅读 · 0 评论