C语言与程序设计-曹计昌-第15章.pptVIP

  • 3
  • 0
  • 约5.45万字
  • 约 156页
  • 2017-07-08 发布于浙江
  • 举报
华中科技大学计算机学院 C语言与程序设计 The C Programming Language *第15章 非线性数据结构 非线性数据结构主要涉及树、图。 查找表中由于关键字经过散列之后(哈希函数作用)有可能产生冲突,不能保证关键字与查找表下标间的一一对应关系,故也将其归并到非线性数据结构。 本章在线性数据结构基础上,进一步介绍二叉树、查找表与散列、图等数据结构; 以及针对不同数据结构的深度优先搜索、广度优先搜索等各种算法。 15.1 树与二叉树 15.1.1 树与二叉树的概念 树是以结点为元素的有限集合。 每棵树都有唯一一个称为根的结点,也称根结点。 其余结点是互不相交的子树的集合。 如果结点r有子树T1、T2、…、Tn,则这些子树的根r 、r2、…、rn称为结点r的儿子(子结点),一个没有儿子的结点称为树叶(叶结点)。 15.1.1 树与二叉树的概念 树的结构示意图如图15.1所示。 二叉树(binary tree) 二叉树(binary tree)是每个结点至多只有两棵子树的树。 二叉树的结点含有两个指针域,一个指向左子树的根结点,另一个指向右子树的根结点;两个指针域都可以为空(NULL)。 左子树和右子树的次序不能任意颠倒。 另外,还需要构造一个指向树根的指针(如图15.1(b)中的root),这样才能够从该指针指向的树根开始遍历整棵二叉树。 表达式6-

文档评论(0)

1亿VIP精品文档

相关文档