学了这么长时间的Python,可以尝试下二叉树的构建,作为练习。
树结构的特点是:它的每一个结点都可以有不止一个直接后继,除根结点外的所有结点都有且只有一个直接前驱。
树的递归定义如下:
- (1)至少有一个结点(称为根)
- (2)其它是互不相交的子树
二叉树:
二叉树是由n(n≥0)个结点组成的有限集合、每个结点最多有两个子树的有序树。它或者是空集,或者是由一个根和称为左、右子树的两个不相交的二叉树组成。
特点:
- (1)二叉树是有序树,即使只有一个子树,也必须区分左、右子树;
- (2)二叉树的每个结点的度不能大于2,只能取0、1、2三者之一;
- (3)二叉树中所有结点的形态有5种:空结点、无左右子树的结点、只有左子树的结点、只有右子树的结点和具有左右子树的结点。
|
|
在python中有一对很神奇的函数,就是append和pop(),append的作用就是每次在列表后面添加进来一个值,而pop()函数可以指定列表的任何一个位置的元素弹出来,默认的是从后往前弹出,这样就相当于数据结构中的栈,还可以写个循环,指定每次都从列表最前面弹出元素,这样就相当于队。