二叉链表
数组表示法用于完全二叉树的存储表示非常有效,但表示一般二叉树则不是很理想。此外,在一棵树中进行插入和删除操作时,为了反应结点层次的变动,可能需要移动许多的结点,这样降低了算法的效率,而使用了链表表示可以克服这样的缺点。
根据二叉树的定义,可以设计出二叉树节点的构造。二叉树的每一个结点至少应该包括三个域:数据、左孩子、右孩子。这种链表结构一般被叫做二叉链表。使用这种链表可以很方便的表示和找到它的子女,但找到它的双亲却很困难。为了便于查找双亲,我们还可以增加一个双亲指针域,这种结构被称为三叉链表。
结构如下:
二叉链表的类定义
三叉链表和二叉链表类似,本文只讨论二叉链表。下面给出二叉链表的类定义。
1 |
|
二叉链表的实现
1 |
|
运行结果
关于链表的输入
本文总阅读量次