粉丝2898获赞1.1万



好,那么咱下午呢?哎,开始学习这个竖和二叉竖, 那么学术之前呢啊,学这二招术之前呢,我们要先聊点数的概念啊,先聊点数的概念,那么数什么样概念啊?看这张图大家也能看明白,这就是一个数的结构,对吧? 那么这个结构,大家想想,我们之前学这个数据结构的时候,学的叫线性表,对不对啊?那么回一下,线性表有什么特点呢? 哎,是不是说第一个节点就第一个数据是不是只有一个后继节点,没有前驱,对不对? 那么最后一个呢?只有一个前驱,没有后继,对不对?那么其他位置的元素啊,都有一个前驱和后继,对不对?哎,这是我们的线秒,那么线秒的话,大家也发现了, 他其实每个节点和节点这些关系是不是都是一对一的关系啊?是不是一对一的关系?那么一对一的关系的训练表,那么我们就比较容易存储了,是不是给拿个顺序存储啊?恋人存储啊,我们之前学这个是不是就可以进行一个存储啊? 哎,那么好,那么大家看这张图,这张图是一对一的关系还是一对多的关系?一对多对吧?你看每一个节点是不是都有一个双亲节点啊?我们叫,比方说你叫副节点也行,爹妈节点也行啊,就是他的一个 负节点,对不对?我们叫双亲节点啊,但是呢,他是不是有多个后继啊?是不是多个后继啊?那么这个就是数的概念啊,数的概念,咱们现在呢第一个了解就是这个数的概念,然后呢,咱们先看数的定义,数呢,是 一个或多个节点组成的有限集合,对吧?一个或多个节点组成的有限集合,那么尤其只有一个节点称为根,那么所有的不管你说二啥注,他都只有一个根。节点就是上面这个节点啊,只有上面这个节点没有前驱,没有前驱, 但是有多个后继啊,当跟大于一时,其余的节点,哎,是吗? m 个互不相交的有限集合,你比方这个数,你把这个节点拿走,下面是不是几个互不相交的节点啊? 是不是?那么每一个每一个比方这边这俩啊,他就称为一个数,中间这四个呢,也是一个数,这一个节点呢,他也是一个数,明白吧?一个节点呢,也叫数,只不过他没有叶子地点而已。这个呢, 也是一个数啊,你把这个起点抛开,下面都是独立的按摩数。按摩数,你把这个起点抛开,下面是不是也是几个数啊?这个数啊,那么从这大家是不是应该明白一点,这个数具有一个什么 地归性,是不是?是不是地归性啊?哎。树里边包含树吗?大树里边包含都是小树吗?是不是?哎,好, 哎,树的结构的特点,非现象的结构,哎,这大家都能明白了,对吧?那么只有,只有,只有一个前区,有 一个直接的前驱,但是呢,可以有多个后继,那么他是一对 n 的第二人关系,那么树呢?具有地规性,树中呢含有树, 哎,树呢也可以为空,记着吧,零个节点他也是个树,明白吗?空数叫你在 创建一个树的时候,如果树里边任何机电没有,他就是要空树,一个机电没有啊,没有机电他也叫树, 哎,这是些术语啊,术语,其实有些术语比较搞笑的啊,跟这个大家都明白,对吧?有,只有一个节点,是吗?没有前驱啊,没有前驱,没有前驱的几根节点就是这个节点,对吧?就跟节点啊,那么 yes, 节点没有什么,哎,没有后继 行里边说他没有后击啊,他他他哦,他说这几个都是叶子鸡蛋啊, 哎。所以说你在判断那个树,比方说树有没有啊,树是不是叶子节点的时候,是不是只要判断他有没有自己点就行了,是不是啊,有没有自己点就行,没有自己点他肯定是一个叶子节点啊,对吧?哎,这不,这是森林啊,他也不看了这个, 哎,这个看双亲啊,双亲也就我们经常说的一个负节点,负节点每一个节点呢,都有一个什么双亲节点,因为你不知道这个双亲他是男的还是女的,是公的还是母的,是爹还是妈啊, 所以我们都叫双亲啊,你可以叫父节点,也可以孩子节点,是不是也比较容易理解啊,对吧。哎,每个节点呢一个称,为什么子节点嘛,我们这样说,哎,这个说的子节点谁谁啊,子节点那么就是他的,哎,孩子节点啊, 哎,再来一个,这有个概念啊,有节点的度,节点度,那么节点度啊,是节点挂机的子数的数量 啊。这个,那么看,还看这张图,看这张图吧,看这张图,那么这个数,比方说 b 这个节点的度是多少啊?二啊, 下面不算直接挂结的,就两个度啊, d 呢?哎, m 呢?零啊,这是他的度啊,下面还有什么竖的深度或者叫竖的高度也可以啊,就是说呢,指所有界中最大的层数, 你说这个数的深度是多少?四四,对吧?是吧?一层,一层,两层,三层四层啊,所以说这个数的深度呢,就是个四啊,就是个四。 那下面呢,我们聊一下这个树的一个表示法,哎,树的一个表示法,那么传统啊,我们一般说啊,把这个树能给你画出来了,那么咱们怎么去表示一个字吗?画图,这就不用说了,对吧?什么一种树这种形式啊?哎,画图咱们就不说了,一个什么广一的表示法, 广义的表法,那么这个呢?就是下面写这个啊,这种表法,你可以用这种表法把这个数呢?哎,把它表示出来, 哎,中国媳妇包含河北,广东、山东,对吧?然后呢河北里边又包含什么?保定,石家庄,广东里边吧,东莞,广州,东莞,对吧? 东莞呢?东莞呢?东莞,东莞,东莞是吧?山东里边吧,青岛还有济南啊,可以用这种方式去包含,那么这里边是不是就是属于上面一个几点呢?子节点呢?对吧?那河北是中国的一个子节点啊,这种大家能明白怎么表示吗?能表示对吧?啊?好, 能表示就好,那么这呢就是一个树的基本概念,下面我们要跟大家探讨一下树的存储。

无可奈何花落去,似曾相识燕归来。大家好,我是荣同学院的刘老师。今天我给大家讲解一款非常好用的 str 容器 set, 我称之为独一无二的 sat。 为什么说它是独一无二呢?因为在 sat 中进行插入元素的时候,它是不允许有重复值的。好,我们先来看题。 美国数学家维纳智力早熟,十一岁就上了大学。他曾经在一九三五年至一九三六年应邀来到中国清华大学讲学。 一次他参加某个重要的会议,年轻的面孔引人注目。于是有人询问他,他说 我的年龄的立方是个四位数,我的年龄的四次方是个六位数。这十个数字正好包含了零到九十个数字,每个恰好出现一次。请你推算一下他当时到底有多年轻。 好,根据我们后面的计算,我们知道当时他是十八岁。刚好十八的三次方等于五千八百三十二,十八的四次方等于十万零四千九百七十六。 好,我们可以通过这个我们可以知道刚好这十个数字每个都出现了一次。那我们如何通过 c 加加编程来实现这个答 解呢?我们看一看。我们这里就要用到一个 such, 也就是说我们首先我们定义了一个 such。 然后呢,我们通过这个函数把 set 每个值把它存在这个里面去。我们首先看看,我们看看这个代码, 我们这里面定一个 i 等于一,然后 i 小于三十。为什么说小于三十呢?因为三十的三次方已经是两万七千了,已经超过四位了。所以说三十岁以上我们可以不考虑了。然后呢,我们再定义这个。首先我们把这个赛特把它清空, 然后呢,我们把依次把他的三次方 a 和他的四次方 b, 我们把 插入到这个赛的容器中。我们看看如果说当他等于十八的时候,五八三二。我们通过这个来 看看。我们首先是把二放入到里面,放入里面以后,我们这里除以十,我们这里面就变成了五百八十三。然后呢,我们接着把三放入里面,然后呢, 再除以十,他就是五十八。然后就把八放入里面,再把五放入里面。然后呢,我们再放他的四位,放他的四次方幺零四九七六。首先我们把 六放入里面,六放入里面,我们对某个数对词求余,其实就是 他的个位数字。然后呢,我们再接着呢,再把七放入里面,接着 再把九放入里面,接着再把四放入里面,接着再把零放入里面,最后把一放入里面,我们放到里面去以后,我们就发现这个 这个集合 that, 它的元数个数呢,就等于十了。它等于十的时候,其实就满足每个数字的用到了。那老师说为什么它等于十的时候用到了。我们看看 它等于十九的时候。由于 set 是不能插入重复数字的,我们可以看到它这个 set, 它只插入了零幺二三五六八九,剩余的七 跟是不成,就说没有插入进去。所以说他晒得等于八,他就他晒得小于十的时候,就证就证明了他 是一定有重复数字的。所以说只有十八满足条件。我们看看运行结果,嗯,刚好十八满足条件。然后呢,我们这个地方是利用了 set 特性, set 有什么特性呢?它纯。 这题中我们用到了是它的存储元素的唯一性。然后呢, set 除了这个以外,还有这七大性质。然后呢,就需要大家自己下去看了。好,我们的今天的讲解就到这里,如果觉得卢老师讲的好的话,请帮我们点个赞,谢谢!

哎,别滑了,十四秒。模拟面试随家家思路的容器中, vacco 和 map 分别有何特性?以 vacc 和 map 实现原理二数组合红黑数的特性。