数据结构
菜鸭子
我回来了!!!
展开
-
【数据结构】常见数据结构算法总结
线性表之顺序表顺序栈及其基本操作的实现求二叉树深度的算法判断两棵树是否相等的算法由先根遍历序列和中根遍历序列建立一棵二叉树的算法未完待续……...原创 2019-11-17 21:46:03 · 132 阅读 · 0 评论 -
【数据结构】线性表之顺序表
线性表是一种最常见、最简单,也是一种最基本的数据结构,它是学习其他数据结构的基础。线性表有两种存储结构:顺序表和链表。下面我主要介绍顺序表。所谓顺序表,就是顺序存储的线性表。顺序存储是用一组地址连续的存储单元一次存放线性表中各个数据元素的存储结构。顺序表基本使用数组来实现。顺序表的特点:在线性表中逻辑上相邻的数据元素,在物理存储位置上也是相邻的存储密度高,但需要预先分配“足够应用”的存储...原创 2019-07-09 21:34:53 · 197 阅读 · 0 评论 -
顺序栈及其基本操作的实现
与顺序表一样,顺序栈也是用数组来实现的。由于入栈和出栈操作只能在栈顶进行,所以只需要再加上一个变量top来指示栈顶元素的位置。package SqStack;public class SqStack { private int[] stack; private int top; //栈的构造函数,构造一个存储空间容量为maxSize个存储单元 public SqStack(int ma...原创 2019-09-28 21:06:36 · 261 阅读 · 0 评论 -
【数据结构】求二叉树深度的算法
要求二叉树的深度,方法是先求出左子树的深度,再求出右子树的深度,二叉树的深度就是左子树的深度和右子树的深度中的最大值加1. 自然而然想到用后根遍历的思想实现主要步骤如下:若二叉树为空,则返回0值,否则求左子树的深度;求右子树的深度;将左子树、右子树深度的最大值加1并返回其值。 //求二叉树深度的算法 public int getDepth(BiTreeNode T) { if...原创 2020-10-18 16:42:58 · 7664 阅读 · 0 评论 -
【数据结构】判断两棵树是否相等的算法
下面用先根遍历的思路描述算法的步骤:若两棵二叉树都为空,则两棵二叉树相等,返回true;若两棵二叉树都非空,则若根结点的值相等,则继续判断它们的左子树是否相等;若左子树相等,则再继续判断它们的右子树是否相等;若右子树也相等,则两棵二叉树相等,返回true。任何其他情况都返回false二叉链式存储结构的结点类描述:package tree;public class BiTre...原创 2020-10-18 16:48:15 · 4194 阅读 · 1 评论 -
【数据结构】由先根遍历序列和中根遍历序列建立一棵二叉树的算法
二叉链式存储结构的结点类描述:package tree;public class BiTreeNode { public Object data; public BiTreeNode lchild,rchild; //左右孩子域 //构造一个空节点 public BiTreeNode() { this(null); } //构造一颗左、右孩子域为空的二叉树 publi...原创 2020-10-18 16:47:33 · 1807 阅读 · 0 评论