数据结构学习—“一般树”的基本概念和知识

来源:互联网 发布:廖雪峰python教程mobi 编辑:程序博客网 时间:2024/05/15 11:56

最近在中国大学MOOC上选修了浙大的《数据结构》这门课,这周温习了下之前学的一些涉及到“树”的基本知识。下面就“一般的树”这种抽象数据类型的存储进行总结。

一、“树”提出的背景和意义:

1.树的意义:与之前的数据结构相比,树这种数据结构的提出意义在于:分层次组织数据,这样在数据的管理上会更有效率,主要在于数据的查找。

2.数据查找的定义:根据某个关键字K从数据集合中找出与关键字K相同的记录。查找根据数据集合是否是固定的,分为静态和动态查找;查找方法常见的有:顺序查找和二分查找;二分查找的效率高,但是需要数据在查找前根据关键字有序排放,因为如何有效存储和组织数据就变得很重要。

数据查找:


  二分查找:

二、树的定义和结构

1.树的定义:

的性质:

的性质需要注意的是:

(1)所有的子树都不能是相交的,互不相关互不相交。

(2)要有根节点,同时除了根节点外,每个节点都要有且仅有一个父节点。

(3)N个节点,N-1条边

三、树的相关术语和表示

1、树的相关术语:


2、树的表示: 儿子-兄弟法

3.树的数据结构存储:使用链表进行存储,因为这是一般的树,不知道一个父节点下面的儿子的节点的个数,不固定,一般会定义个一个父节点最多拥有的子节点的个数。




后记:因为实际用处中很少用到一般的树,所以这里很多就用了课程中课件的截图,这里主要是需要理解一般的树的定义、性质和一些基本的树的术语

原创粉丝点击