前言 树的遍历分为: 1.深度优先遍历 2.广度优先遍历 深度优先遍历: 1.前序遍历 2.中序遍历 3.广序遍历 广度优先遍历: 层序遍历 深度优先遍历 如图: 前序遍历 前序遍历的规则为:根节点、左子树、右子树 根据规则,第一个点即为根节点: 第一个为A。 A 有左子树:左子树的第一个节点又为左 ...
分类:
编程语言 时间:
2020-01-31 22:45:09
阅读次数:
95
从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路:就是写一个层序遍历代码,用队列将根、左孩子、右孩子有序入队最后再出队即可 1 import java.util.*; 2 /** 3 public class TreeNode { 4 int val = 0; 5 TreeNode le ...
分类:
其他好文 时间:
2020-01-13 23:37:38
阅读次数:
77
L2-011 玩转二叉树 (25分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序 ...
分类:
其他好文 时间:
2020-01-12 13:08:48
阅读次数:
113
二叉树层序遍历。题干既是题意。如下例子, For example:Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 return its level order traversal as: [ [3], [9,20], [1 ...
分类:
其他好文 时间:
2020-01-12 09:41:11
阅读次数:
54
题目描述 假设二叉树用二叉链表存储,用先序序列结果创建。输入二叉树的先序序列,请你先创建二叉树,并对树做个镜面反转,再输出反转后的二叉树的先序遍历、中序遍历、后序遍历和层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。 --程序要求-- 若使用C++只能include一个头文件iost ...
分类:
其他好文 时间:
2020-01-11 20:04:26
阅读次数:
122
树的基本概念、特点。 二叉树的定义、概念、特点。 二叉树的遍历顺序:前序DLR、中序LDR、后序LRD(递归与迭代);层序遍历(迭代) 树的操作:插入、删除、查询、遍历、旋转等 树、森林、二叉树的关系 树的应用:哈夫曼树、红黑树、AVL树、B(B+)树、Treap树、Trie树(字典树)、伸展树、替 ...
分类:
其他好文 时间:
2020-01-08 12:40:38
阅读次数:
120
//树的数据结构表示有三种形式:双亲表示法,孩子表示法,孩子兄弟表示法(可以将树化为二叉树)//双亲表示法,这里的树结构使用一维数组表示,所以类型为int指向下标template<class T>struct pNode { T data; int parent;};//孩子表示法,由于孩子数量不定 ...
分类:
其他好文 时间:
2020-01-01 16:49:39
阅读次数:
60
队列
队列基本概念
循环队列
顺序队列的C语言实现
链式队列的C语言实现
自考要点
队列
这篇博客主要介绍一下队列的概念,并且采用C语言,编写两种存储实现方式:顺序存储和链式存储,当然还有常规的队列基本操作的实现算法
队列基本概念
标准解释:队列(Queue)是有限个****同类型数据元素的线性序... ...
分类:
其他好文 时间:
2019-12-31 18:15:34
阅读次数:
86
一种可以实现" 先进先出 "的存储结构 分类: 1. 链式队列:用链表实现 2. 静态队列:用数组实现,静态队列通常都必须是 循环队列 循环队列的讲解: 1. 静态队列为什么是循环队列 减少对内存的浪费 2. 循环队列需要几个参数来确定 两个参数, frant 、rear 但这2个参数不同场合有不同 ...
分类:
其他好文 时间:
2019-12-15 21:54:28
阅读次数:
97
题目: 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 来源: https://leetcode-cn.com/problems/binary-tree-right-side-view/ 法一: 自己的代码 构建一个队列,每次都从右边取值,用双层循环实现层 ...
分类:
其他好文 时间:
2019-12-09 18:41:37
阅读次数:
85