![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
hoji_James
这个作者很懒,什么都没留下…
展开
-
自定义动态数组的实现
数组最大的优点:快速查询public class Array<E> { //E表示类型 private E[] data; private int size;//数组中有效元素的个数,值指向数组中第一个没有值的位置 //构造函数,传入数组的容量capacity和构造Array public Array(int capacity){ ...原创 2018-06-06 21:00:53 · 365 阅读 · 0 评论 -
自定义链表结构
链表是一种线性结构,是最简单的真正意义上的动态数据结构。链表实现:public class LinkedList<E> { private class Node{ public E e;//权限为public,外部类就能直接访问了 public Node next; public Node(E e,Node next){ ...原创 2018-06-06 21:15:58 · 427 阅读 · 0 评论 -
二叉树的遍历-递归方式
概述:用递归方式实现二叉树的遍历。二叉树结构public class Node{ public int value; public Node left; public Node right; public Node(int data){ this.value = data; } }先序遍历:先...原创 2018-06-06 21:47:59 · 208 阅读 · 0 评论 -
二叉树的遍历-非递归方式
分别用非递归的方式实现二叉树的先序遍历、中序遍历和后续遍历非递归方式实现二叉树的先序遍历。过程:1.申请一个新的栈,记为stack, 然后将二叉树的头结点head压入stack中。2.从stack中弹出栈顶结点,记为cur,然后打印cur结点的值,再将结点cur的右孩子(不为空的话)先压入stack中,最后将cur的左孩子(不为空的话)压入stack中。3.不断重复步骤2,直到stack为空,全部...原创 2018-06-06 22:35:55 · 252 阅读 · 0 评论 -
单链表的反转
/** * @date: 2018/8/11 * @description: leetcode第206题 翻转单链表 * 地址:https://leetcode-cn.com/problems/reverse-linked-list/description/ */ public class ReverseList{ //链表结构 public static cl...原创 2018-08-11 20:45:16 · 225 阅读 · 0 评论 -
二叉树的概念、性质,以及用使用Java语言实现二分搜索树
1.什么是二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。 2.二叉树的性质 (1)二叉树具有唯一根结点 (2)二叉树中每个结点多只有2个孩子 (3)二叉树每个结点最多只有一个父节点 (4)二叉树具有天然递归结构,表现为: ①每个节点的左子树(若存在...原创 2018-06-11 19:26:48 · 476 阅读 · 0 评论