一、学习要点:
1.python中不能用结构体,C和C++实现二叉树多用结构体,python中只用对象;
二、代码实现:

class Tree():def __init__(self,data=-1,lchild=None,rchild=None):self.data=dataself.lchild=lchildself.rchild=rchilddef CreateTree(self):data=int(input("please input the data:"))if(data==-1):returnelse:self.data=dataself.lchild=Tree()self.lchild.CreateTree()self.rchild.CreateTree()def preorder_print(self):if(self.data==-1):returnelse:print('%d'%(self.data))self.lchild.preorder_print()self.rchild.preorder_print()

三、运行结果

Python简单前序创建二叉树及二叉树的遍历相关推荐

  1. 手动创建一棵二叉树,然后利用前序、中序、后序、层序进行遍历(从创建二叉树到各种方式遍历)(含运行结果)

    手动创建一棵二叉树,然后利用前序.中序.后序.层序进行遍历 import java.util.LinkedList; import java.util.List; import java.util.Q ...

  2. 中序线索二叉树的创建、线索化和遍历

    [问题描述]创建一棵二叉树,接着中序线索化该二叉树,然后编写相应函数遍历该中序线索二叉树 [编码要求]线索二叉树遍历过程中不能使用递归.不能使用栈. [输入形式]二叉树拓展的前序遍历序列 [输出形式] ...

  3. Python实现: 常用排序算法 二叉树的遍历算法

    转载自:http://www.cnblogs.com/alex3714/articles/5474411.html点击打开链接,感谢原作者,如有侵权,联系删除 本节内容 算法定义 时间复杂度 空间复杂 ...

  4. 前序中序确认二叉树 7-23 还原二叉树(25 分)

    7-23 还原二叉树(25 分) 给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度. 输入格式: 输入首先给出正整数N(≤50),为树中结点总数.下面两行先后给出先序和中序遍历序列, ...

  5. step3 . day7数据结构之二叉顺序数的创建和二叉树的栈形式遍历

    1.最近从网易云课堂学习了一个老师的数据结构相关的知识,了解到数据结构的应用和二分查找之间的关系,就自己想着写一个创建二叉顺序数和利用栈对二叉顺序树进行顺序输出的代码,终于一个周末的时间写完了. 2. ...

  6. linux 递归创建线程,[linux]二叉树的建立及其递归遍历(C语言实现)

    #二叉树的特点: 每一个节点最多有两棵子树,所以二叉树中不存在度大于2的节点,注意,是最多有两棵,没有也是可以的 左子树和右子树是有顺序的,次序不能颠倒,这点可以在哈夫曼编码中体现, 顺序不同编码方式 ...

  7. python构造一个二叉树_二叉树-链表存储,用二叉树构造表达式(Python实现)

    既然用到二叉树了,直观上链表的方式比较容易接受,下面用python实现简单的二叉树.二叉树是递归结构,Python的list也是递归结构,基于list类型很容易实现二叉树: 下面是函数 def bin ...

  8. java 二叉树的实现以及前序、中序、后续遍历实现

    目录 前言 完全二叉树 完全二叉树实现代码 测试 输出 前言 二叉树是n个有限元素的集合,该集合或者为空.或者由一个称为根(root)的元素及两个不相交的.被分别称为左子树和右子树的二叉树组成,是有序 ...

  9. java键盘输入构建任意二叉树并实现前序、中序、后续遍历

    import java.util.ArrayList; import java.util.List; import java.util.Scanner;public class CreateBinar ...

最新文章

  1. 浙江大学-计算机中的数学(诙谐幽默的短视频)
  2. oracle如何改变连接属性,怎样设置navicate连接属性
  3. 加速度计和陀螺仪数据融合
  4. mac python安装太慢_【已解决】Mac中给pip3添加代理以提升下载python包的速度
  5. PIE SDK矢量数据空间索引的创建
  6. WebBrowser keystroke
  7. 图文并茂地带你了解kafka分区Rebalance机制
  8. ngx-datatable
  9. 苹果CMS绑定分类失败,刷新就丢失!
  10. 程序复杂性度量方法-McCabe
  11. elasticsearch简单使用和ELK的集成
  12. wr885n虚拟服务器设置,TP-Link TL-WR885N V4路由器桥接设置教程
  13. 只有一个程序员开发和运营,BuiltWith网站年入1400万美元是怎么做到的?
  14. 细数二三四五“爆雷”简史:布局金融7年一场空,陈于冰贯穿始终
  15. 集中式日志管理各种方案对比
  16. java毕业设计慢性病管理(附源码、数据库)
  17. oracle crs错误日志,集群日志中出现CRS-2316 / CRS-2317错误
  18. 【WordPress】网站地图插件
  19. android 设置自定义主题及切换方案
  20. C语言开发工程师一定要熟读的5个开源项目

热门文章

  1. boost::geometry::remove_spikes用法的测试程序
  2. GDCM:gdcm::Fragment的测试程序
  3. GDCM:gdcm::Version的测试程序
  4. GDCM:打印dicom文件的LookupTable的测试程序
  5. Boost:python与宏BOOST_TEST_EQ相关的实例
  6. ITK:Levenberg-Marquardt优化
  7. ITK:图像的区域最大值
  8. OpenCV使用CNN进行目标检测
  9. C语言反转二叉树的递归和迭代解决方案(附完整源码)
  10. C语言求两个链表的合并点的算法(附完整源码)