第五章我们主要学习了树和二叉树的定义、性质、存储结构以及部分操作还有哈夫曼树。 下图是我对本章所学知识的大致总结: 在这章的代码题中,我也学到了很多,其中List leaves这题就有很多小细节: 1. bool check[n] = {false};//定义bool类型的数组来查找未出现过的结点 ...
分类:
其他好文 时间:
2020-05-31 21:36:18
阅读次数:
68
1.二叉树的遍历以及哈夫曼树是本章的重点。通过PTA和小组讨论,让我更能想清楚二叉树在存储的时候的模样,也能利用链式和顺序结构操作二叉树,总结如下;哈夫曼树比较清晰,主要是构造(要点是先取权值最小的树作为左右子树构造一棵新的二叉树)与计算WPL=(该结点的权值*对应的结点的路径长度)的求和。 2 / ...
分类:
其他好文 时间:
2020-05-31 21:22:57
阅读次数:
59
本章学习内容: 本章我们学习了一种新的数据结构,“树”结构是一类非线性数据结构。主要学习到二叉树的内容,二叉树有好几个重要的性质。刚开始学这种数据结构的时候,还是觉得比线性结构抽象很多。在后来上课和打代码的时候理解到,二叉树存储结构跟遍历有很大的关系,遍历的结果是将非线性结构的树中结点排成一个线性序 ...
分类:
其他好文 时间:
2020-05-31 19:55:21
阅读次数:
65
第五章首先学了树的定义和树的基本术语,我觉得比较重要的是结点的度(结点拥有的子树数)和数的度(树内各结点度的最大值)。然后引入了二叉树的定义,它可以是空树,也可以是非空树,知道了二叉树有5种基本形态。接着了解了树和二叉树的ADT。还学了二叉树的性质和满二叉树(每一层上的结点数都是最大结点数,即每一层 ...
分类:
其他好文 时间:
2020-05-31 19:39:17
阅读次数:
69
这一章我们学习了树和二叉树,树是n个结点的有限集,也学习了什么是结点的度(即结点的孩子个数),树的深度(即结点度的最大值),但还是主要学习了二叉树,比如二叉树的性质: 性质1 在二叉树的 第i层上至多有2^(i-l) 个结点(i>=1)。性质2 深度为K的 二叉树至多有 2^k - 1 个结点 (k ...
分类:
其他好文 时间:
2020-05-31 17:51:38
阅读次数:
56
第五章 树和二叉树 一:树 定义:n个结点的有限集,可为空或非空 若树非空一定有且仅有一个根结点 树的度:结点度的最大值(结点的子树数为结点的度) 深度:最大层次数 森林:m课不相交树的集合 课本上关于树只说明了定义和一些术语,重点内容在于二叉树部分 二:二叉树 二叉树的性质:深度为k的二叉树最多有 ...
分类:
其他好文 时间:
2020-05-31 17:47:35
阅读次数:
66
迭代方法 注意哑结点的使用,这会省去很多判断 public ListNode mergeTwoLists(ListNode l1, ListNode l2){ ListNode result = new ListNode(-1); ListNode tempResult = result; whil ...
分类:
其他好文 时间:
2020-05-31 15:54:07
阅读次数:
52
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 1.解题思路 如果同时满足下面的条件: 一个树的左子树和右子树的两个根结点具有相同的值 在左子树或右子树的每个子树的右子树都与另一 ...
分类:
其他好文 时间:
2020-05-31 13:09:41
阅读次数:
50
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 /** * Definition for singly-link ...
分类:
其他好文 时间:
2020-05-31 11:21:16
阅读次数:
49
本章我们学习了树与二叉树,在正式学习之前对树和二叉树有一定的了解,但在深入学习以后,还是有学到很多新的东西。树有很多专业术语:度 深度等等 如果不能记清他们的意义,基础题目都没有办法做。 首先我想说的是储存结构: 顺序结构 通过结构体内简单的int parent 将子结点与双亲结点连接起来 而特殊的 ...
分类:
其他好文 时间:
2020-05-31 01:12:09
阅读次数:
96