数据结构
月下赶路人
努力学习,认真工作,积极生活。
展开
-
逐句解释堆排序
//堆排序1 private static int heapSize;//声明全局变量,记录堆中有多少元素 private static Integer[] array;//声明全局变量,存储传来要排序的元素 static void heapSort(Integer[] arr) { array = arr; //原地建堆 heapSize = arr.length; //从最后一个非叶子节点向上构建最大堆(二原创 2021-07-05 20:47:26 · 121 阅读 · 0 评论 -
根据二叉树遍历结果重构二叉树(前序遍历+中序遍历 / 中序遍历+后序遍历 / LeetCode真题)
文章目录重构二叉树前序遍历+中序遍历后序遍历+中序遍历前序遍历+后序遍历重构二叉树所谓重构二叉树就是根据遍历结果构造还原出原本的二叉树,在二叉树的四种遍历方法(前序遍历、中序遍历、后序遍历、层序遍历)中已经对二叉树的遍历进行了详细的分析,接下来我们就要分析如何根据不同的遍历结果重构出二叉树。前序遍历的访问顺序:根节点——>前序遍历左子树——>前序遍历右子树中序遍历的访问顺序:中序遍历左子树——>根节点——>中序遍历右子树后序遍历的访问顺序:后序遍历左子树——>后序遍历原创 2021-07-05 16:02:10 · 516 阅读 · 0 评论 -
二叉树的四种遍历方法(前序遍历、中序遍历、后序遍历、层序遍历)有图有真相!!!
文章目录二叉树的四种遍历方式前序遍历(Preorder Traversal)中序遍历(Inorder Traversal)后序遍历(Postorder Traversal)层序遍历(Level Order Traversal)二叉树的四种遍历方式相信大家能够看到二叉树的遍历就已经对二叉树本身有了足够的了解,这里就不进行过多的赘述了,我们直接进入正题。我们知道线性数据结构的遍历一般就是前序遍历和后序遍历,而二叉树的遍历常见的有三种:前序遍历、中序遍历、后序遍历(注意:前中后是针对根节点而言的),有时候也会原创 2021-06-29 21:31:28 · 5730 阅读 · 1 评论 -
数据结构--Java实现队列和循环队列(先进先出)
Java实现队列和循环队列队列接口(Interface)public interface MyQueueInterface<E> { /** * 入队 */ public void enqueue(E element); /** * 出队/删除 */ public E dequeue(); /** * 获取队首元素 */ public E getFront(); /**原创 2020-12-01 12:01:18 · 621 阅读 · 2 评论 -
数据结构--Java实现栈(先进后出)
Java实现栈(先进后出)栈的接口(interface)public interface MyStackInterFace<E> { /** * 压(入)栈 */ public void push(E element); /** * 出栈 */ public E pop(); /** * 查看栈顶元素 */ public E peek(); /** * 获取元素数量原创 2020-12-01 11:55:49 · 905 阅读 · 2 评论 -
数据结构--Java实现动态数组
Java实现动态数组//定义一个自己的数组---泛型public class MyArray<T> { int size;//定义数组存放内容的实际个数 T [] data;/*定义一个数组 构造方法--->定义数组长度*/ public MyArray(int capacity) { size = 0; this.data = (T[]) new Object[capacity]; } public原创 2020-12-01 11:51:06 · 207 阅读 · 0 评论