数据结构重读 – 树的定义和基本术语

1、树是n(n>=0)个结点的有限集合。树中有且仅有一个结点为根(Root)。

2、当定义1中的n>1时,其余结点可以分为m个互不相交的有限集合T1、T2。。。每一个子集都是一颗树,并且是根的子树。

3、树中结点的:结点拥有子树的个数(分叉数)称为结点的度(Degree)

4、度为0的结点称为叶子(Leaf)结点。度非0的结点是分支结点或非终端结点。

5、公式:树中结点的数量 = 所有结点的度之和 + 1

6、结点的子树的根称为该结点的孩子。该结点[......]

继续阅读

数据结构重读 - 矩阵乘法

矩阵乘法最naive的版本,自己数学弱爆了,矩阵乘法已经不知道怎么算了……

先科普下吧。

3   0   0   5
(A) 0  -1   0   0
2   0   0   0

0   2
(B)  1   0
-2  4
0   0

首先乘出来的结果是,新矩阵的行是A的行,新矩阵的列是B的列。

计算方法是,首先A的第1行点乘(每个位置上分别乘)B第1列的元素,做为结果矩阵(1, 1)上的元素。然后A的第1行点乘第2列,做为结果矩阵(1, 2[......]

继续阅读

数据结构 - 树的度和结点数的关系

一、概念

与图论中的“度”不同,树的度是如下定义的:有根树T中,结点x的子女数目称为x的度。也就是:在树中,结点有几个分叉,度就是几。

一个有用的小公式:树中结点数 = 总分叉数 +1。(这里的分叉数就是所有结点的度之和)

二、度的计算

1.设树T的度为4,其中度为1,2,3,4的节点个数分别为4,2,1,1,则T中的叶子数为?

解:

叶子的度数为0;那么设叶子数为x,则此树的总分叉数为1*4+2*2+3*1+4*1=15;此树的节点个数为16(此处涉及到一个[......]

继续阅读