随笔分类 - Data Structure
摘要:测试类: 程序输出: 采用广度优先法则来遍历排序二叉树得到的不是有序序列,采用中序遍历来遍历排序二叉树才可以得到有序序列。
阅读全文
摘要:1 package com.ietree.basic.datastructure.tree; 2 3 import java.util.ArrayDeque; 4 import java.util.ArrayList; 5 import java.util.List; 6 import java.util.Queue; 7 8 /** 9 * Creat...
阅读全文
摘要:其中包含有先序遍历、中序遍历、后序遍历以及广度优先遍历四种遍历树的方法: 1 package com.ietree.basic.datastructure.tree.binarytree; 2 3 import java.util.ArrayDeque; 4 import java.util.Arr
阅读全文
摘要:一、二叉树 二叉树指的是每个节点最多只能有两个子树的有序树。通常左边的子树被称为“左子树”(left subtree),右边的子树被称为右子树。 二叉树的每个节点最多只有2棵子树,二叉树的子树次序不能颠倒。 二、顺序存储二叉树的实现 测试类: 程序输出: 三、二叉树的二叉链表存储 二叉链表存储的思想
阅读全文
摘要:一、树 树与线性表、栈、队列等线性结构不同,树是一种非线性结构。 一棵树只有一个根节点,如果一棵树有了多个根节点,那它已经不再是一棵树了,而是多棵树的集合,也被称为森林。 二、树的父节点表示法 树中除根节点之外每个节点都有一个父节点,为了记录树中节点与节点之间的父子关系,可以为每个节点增加一个par
阅读全文
摘要:一、队列(Queue) 队列是一种特殊的线性表,它只允许在表的前段(front)进行删除操作,只允许在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。 对于一个队列来说,每个元素总是从队列的rear端进入队列,然后等待该元素之前的所有元素出队之后,当前元素才能出
阅读全文
摘要:一、链栈 采用单链表来保存栈中所有元素,这种链式结构的栈称为链栈。 二、栈的链式存储结构实现 测试类: 程序输出:
阅读全文
摘要:一、栈的基本定义 栈是一种数据结构,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入、删除操作的特殊线性表,通常就是在线性表的尾端进行插入、删除操作。 二、顺序栈的实现 顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的数据元素,栈底位置固定不变,它的栈顶元素
阅读全文
摘要:写在前面: 双向链表是一种对称结构,它克服了单链表上指针单向性的缺点,其中每一个节点即可向前引用,也可向后引用,这样可以更方便的插入、删除数据元素。 由于双向链表需要同时维护两个方向的指针,因此添加节点、删除节点时指针维护成本更大;但双向链表具有两个方向的指针,因此可以向两个方向搜索节点,因此双向链
阅读全文
摘要:写在前面: 链表采用一组地址任意的存储单元存放线性表中的数据元素,链式结构的线性表不会按线性的逻辑顺序来保存数据元素,它需要在每一个元素里保存一个引用下一个数据元素的引用(或者叫指针)。它的每个节点都必须包含数据元素本身和一或两个用来引用上一个/下一个节点的引用。 优点:由于不必须按顺序存储,链表在
阅读全文
摘要:1、采用一个数组实现一个顺序线性表中添加元素、删除元素等基本操作 测试模拟线性表的基本操作: 程序输出:
阅读全文

浙公网安备 33010602011771号