数据结构
文章平均质量分 62
希尤
某北方不知名985袋鼠一枚
展开
-
数据结构Day1之栈 实现计算器功能
栈:先进后出,类似堆盘子,先放的盘子最后才会拿出来。放盘子是Push(压入)、取盘子是pop(弹出)。栈通常用的几种方法。1boolean empty() 结果只有 true false测试堆栈是否为空。2Object peek( )查看堆栈顶部的对象,但不从堆栈中移除它。只是看看3Object pop( )移除堆栈顶部的对象,并作为此函数的值返回该对象。这个是取出来查看当前元素4Object...原创 2018-05-12 15:18:43 · 256 阅读 · 0 评论 -
二叉树前序、中序、后序、层次遍历、Z字形遍历等方式《二叉树学习一》
一、遍历方式方式介绍结果前序遍历前序遍历首先访问根节点,然后遍历左子树,最后遍历右子树。FBADCEGIH中序遍历中序遍历是先遍历左子树,然后访问根节点,然后遍历右子树。ABCDEFGHI后序遍历后序遍历是先遍历左子树,然后遍历右子树,最后访问树的根节点。ACEDBHIGF...原创 2019-05-08 09:35:14 · 676 阅读 · 0 评论 -
二叉树最大深度
文章目录一、 二叉树结构体一、求最大深度一、 二叉树结构体/*** * 二叉树基本的方法 */public class TreeNode { private String val; private TreeNode left; private TreeNode right; TreeNode(String x) { val = ...转载 2019-05-22 09:47:00 · 224 阅读 · 0 评论 -
树
一、如果树中的每个节点最多只能有两个子节点,这样的树就称为“二叉树”二、二叉排序树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左右子树也分别为二叉排序树。平衡二叉树(AVL):1)左子树和右子树都是平衡二叉树;2)左子树和右子树的深度(高度)之差的绝对值不超过1。重在高度差不超过1红黑树...转载 2019-03-11 15:42:43 · 212 阅读 · 0 评论 -
Java ArrayList实现的原理 LinkedList实现的原理
ArrayListArrayList是一个动态数组,默认长度是10需要保持的数据大于现有的容量时,开始扩容如果扩为1.5倍还不满足需求,直接扩为你需要的大小ArrayList还给我们提供了将底层数组的容量调整为当前列表保存的实际元素的大小的功能。trimToSize()方法采用的是 Arrays.copyOf浅复制,这里简单说一下什么是浅复制浅复制:只复制一个对象,但新对象...原创 2018-09-28 15:29:04 · 209 阅读 · 0 评论 -
Java 如何实现可以获取最小值的栈?
方法一、最基础得方式?1.用一个变量保存最小值,在push的时候更新这个最小值2.但是只能进不能出,出来的话就得重新遍历栈中得数据然后重新计算3.时间O(1) ,空间O(1) ## 方法二、如何实现时间最短?1.以空间换时间,即再申请一个辅组栈,辅助栈中只保留最小值2. 时间O(1) 空间(n)3. 代码实现package shuju;import java.util.A...原创 2018-09-28 11:19:15 · 449 阅读 · 0 评论 -
Java 快排 看着一片就够了
楼主在复习快速排序的时候发现了很多问题,其中也参照了大神的代码,进行了代码的详细说明大神代码地址,有很好的图例说明 请点击我的代码实现package sort;public class QuickSort { /** * 快速排序 * <p> * 从数列中挑出一个元素,称为“基准” * 重新排序数列,所有元素比基准值小...转载 2018-09-25 17:42:05 · 166 阅读 · 0 评论 -
Java 冒泡排序法
思想:/*** 冒泡法排序* 比较相邻的元素。如果第一个比第二个小,就交换他们两个。* 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最小的数。* 针对所有的元素重复以上的步骤,除了最后一个。* 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * 即对于数组中的每个位置都寻找相对最大的或者最小的 */...原创 2018-09-25 14:53:36 · 2211 阅读 · 0 评论 -
链表复制操作图
单链表public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } public String sout(ListNode listNode){ ListNode newNode =listNode; Strin...原创 2019-10-09 16:29:14 · 355 阅读 · 0 评论