一、本章学习内容小结:本章学习了新的数据结构--树,与前面的学习不同的是,树是一种非线性结构,树只有一个根结点,其子树本身也是一棵树,所以其定义是递归定义。本章还学习了二叉树和哈夫曼树。 二叉树:结点的度不超过2的树,其中完全二叉树是每个结点都与深度为k的满二叉树编号相同。遍历二叉树是对数的基本操作 ...
分类:
其他好文 时间:
2020-05-24 13:21:19
阅读次数:
69
[TOC] 0.PTA得分截图 1.本周学习总结 1.1 总结查找内容 1.2 谈谈你对查找的认识及学习体会 2.PTA题目介绍 2.1 7 1 是否完全二叉搜索树 题目 代码 2.1.1 该题的设计思路 题面分析 首先这道题先要输入N,代表接下来要将N个数构建一棵 二叉搜索树 ;然后接下来就是输入 ...
分类:
其他好文 时间:
2020-05-24 09:43:08
阅读次数:
62
一、树和森林 1.基本概念 树状图(Tree)又称为树,是一种复杂的数据结构。树是由 n(n>=0)个有限节点组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。当 n=0 时,称之为空树,否则是非空树。 树具有以下的特点: 每个节点有零个或多个子 ...
分类:
其他好文 时间:
2020-05-17 13:16:29
阅读次数:
51
一、简介 二叉树的三种遍历方式我相信大家都了然于心,前序遍历、中序遍历、后序遍历。对于这三种遍历的递归实现,我们都不容易忘记。不过,对于非递归实现,我相信会有很多人会跟我一样,背了忘,再背再忘......(很多算法题都是这样,比如各种排序算法的实现)。经过认真观察思考后,发现实现起来是那么的简单,只 ...
分类:
其他好文 时间:
2020-05-09 09:11:48
阅读次数:
64
/*层次遍历,其实就是一个队列,先把根节点压入,之后进入循环,每次先弹出一个根节点,在输出值后,将其左右子树分别压入队列*/ void InorderTraversal(BinTree BT) { BinTree T; Stack S = CreateStack(100);//创建并初始化堆栈 wh ...
分类:
其他好文 时间:
2020-05-08 09:25:03
阅读次数:
66
import java.util.LinkedList;import java.util.Queue;/** * 按层遍历二叉树 */public class LevelTraversalBT { public void levelTraversalBT(Node head) { if (head ...
分类:
其他好文 时间:
2020-05-08 09:17:40
阅读次数:
40
题目: 解法: 题目说一棵二叉搜索树中有两个节点位置错了,要在常数空间将其改正。想到的算法就是中序遍历二叉树... Space O(n)的方法就是自己用stack来模拟inorder traverse,然后将输出的结果存在一个vector里面,然后遍历vector找到冲突的对。 Space cons ...
分类:
其他好文 时间:
2020-05-02 12:16:36
阅读次数:
61
1、23合并K个排序链表:优先队列的方法 2、101对称二叉树————利用2叉数的广度遍历 3、102二叉树的层次遍历 4、103旋转层次遍历 5、104二叉树的最大深度 cpp //哈希表 class Solution { public: int singleNumber(vector& nums ...
分类:
其他好文 时间:
2020-04-27 15:24:23
阅读次数:
47
参考网址: https://visualgo.net/zh/bst?slide=1 树 二叉树的 前序遍历 中序遍历 后序遍历 n叉树的 前序遍历 后序遍历 n叉树的层序遍历 // 二叉树的 前序遍历class Solution { public List<Integer> preorderTrav ...
分类:
其他好文 时间:
2020-04-20 17:35:47
阅读次数:
86
94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] /** * Definition for a binary tree node. * public class TreeNode { * int va ...
分类:
其他好文 时间:
2020-04-11 23:54:51
阅读次数:
73