本文是浙江大学mooc课程数据结构的相关整理与笔记。
课程原地址如下:https://www.icourse163.org/learn/ZJU-93001?tid=1459700443#/learn/content?type=detail&id=1235254042
1 树与树的表示
分层次组织在管理上具有更高的效率。
顺序查找算法的时间复杂度为O(n)。
二分查找(Binary Search)
ASL:平均成功查找次数。
树的定义
一棵N个结点的树有N-1条边:除根节点外每个结点都有一条向上的边。
树是保证结点连通的最小的连接方式。
k条边是因为除根节点之外的每个点都有一条向上的边,加上无向上的边的根结点数(m)就是森林的结点总数。
若树有n个结点,若采用A结点的表示与定义方法,则每个结点会有3个指针域,那整棵树就会有3n个指针域。但实际上,树的边只有(n-1)条,这样会造成空间的浪费。
2 二叉树及存储结构
度为2的树的子树没有左右顺序之分。
边的总数:n0+n2+n1-1=0*n0+1*n1+2*n2
该等式得到:n0=n2+1
树的深度为d,且二叉树只有度为0和2的结点,即若一个结点有子结点,则它一定只有两个子结点。每层的结点数至少为2。第一层只有1个结点,所以结点总数为2d-1。