Binary Trees
by Nick Parlante
原文地址:http://cslibrary.stanford.edu/110/BinaryTrees.html
本文介绍了二叉树的基本概念,并给出了C/C++和JAVA的实例代码。 二叉树有优雅的递归指针结构,因此是学习指针递归的一种好的方式。
目录:
第一部分: 二叉树的结构-- 二叉树的简单介绍;
第二部分: 二叉树的问题-- practice problems in increasing order of difficulty
第三部分: C/C++实现;
第四部分: JAVA版;
版权声明部分;
相关文章:
链表问题;Linked List Problems (http://cslibrary.stanford.edu/105/)
指针与内存;Pointer and Memory (http://cslibrary.stanford.edu/102/)
The Great Tree-List Problem (http://cslibrary.stanford.edu/109/)
第一部分 -- 二叉树简介 Introduction To Binary Trees
二叉树是由结点组成的, 每个结点又包含两个指针区域: 左指针,右指针; 及一个数据元素。 根(ROOT)结点指针指向树的最顶端结点。左右指针分别指向小一些的二叉子树(Subtrees)。空指针(NULL)表示一个二叉树没有元素--空树(empty tree)。正式的递归定义是: 二叉树是空树或由一个结点组成,并且该结点的左右指针分别指向一个二叉树。
http://cslibrary.stanford.edu/110/binarytree.gif