#!/usr/bin/python

 class TreeNode(object):
def __init__(self,data = 0,left = None,right = None):
self.data = data
self.left = left
self.right = right class Bitree(object):
def __init__(self,root=None):
self.root = root def is_empty(self):
if self.root is None:
return True
else:
return False def preOrder(self,treenode):
if treenode is None:
return print(treenode.data)
self.preOrder(treenode.left)
self.preOrder(treenode.right) def inOrder(self,treenode): if treenode is None:
return self.inOrder(treenode.left)
print(treenode.data)
self.inOrder(treenode.right) def postOrder(self,treenode): if treenode is None:
return self.postOrder(treenode.left)
self.postOrder(treenode.right)
print(treenode.data) n1 = TreeNode(1)
n2 = TreeNode(2,n1)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5,n3,n4)
n6 = TreeNode(6,n2,n5)
n7 = TreeNode(7,n6)
n8 = TreeNode(8)
root = TreeNode('root',n7,n8) bt = Bitree(root)
print ('preOrder......')
print (bt.preOrder(bt.root))
print ('inOrder......')
print (bt.inOrder(bt.root))
print ('postOrder.....')
print (bt.postOrder(bt.root))

python-树形结构和遍历的更多相关文章

  1. JavaScript 构造树形结构的一种高效算法

    引言 我们经常会碰到树形数据结构,比如组织层级.省市县或者动植物分类等等数据.下面是一个树形结构的例子: 在实际应用中,比较常见的做法是将这些信息存储为下面的结构,特别是当存在1对多的父/子节点关系时 ...

  2. sqlite3树形结构遍历效率对照測试

    sqlite3树形结构遍历效率对照測试 一.缘起 项目数据结构:本人从事安防行业,视频监控领域.项目中会遇到监控点位的组织机构划分.暂时划分的巡逻点位等.这些相机点位.连同组织机构,它们在逻辑关系上构 ...

  3. Python树形打印目录结构

    前言 这两天整理数据文件的时候发现,一层层的点击文件夹查看很繁琐,于是想写一个工具来递归打印出文件目录的树形结构,网上找了一些资料几乎都是使用的os.walk, 调试了以后发现返回的貌似的是一个“生成 ...

  4. Tree 树形结构

    一.树的基本概念 (1)树(Tree)的概念:树是一种递归定义的数据结构,是一种重要的非线性数据结构. 树可以是一棵空树,它没有任何的结点:也可以是一棵非空树,至少含有一个结点. (2)根(Root) ...

  5. js文章列表的树形结构输出

    文章表设计成这样了 后端直接给了无任何处理的json数据,现在要前端实现树形结构的输出,其实后端处理更简单写,不过既然来了就码出来 var doclist = [{ "id": 1 ...

  6. YbSoftwareFactory 代码生成插件【十八】:树形结构下的查询排序的数据库设计

    树形结构的排序在中国特色下十分普遍也非常重要,例如常说的五大班子,党委>人大>政府>政协>纪委,每个班子下还有部门,岗位,人员,最终排列的顺序通常需要按权力大小.重要性等进行排 ...

  7. Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结

    Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结 1.1. 树形结构-- 一对多的关系1 1.2. 树的相关术语: 1 1.3. 常见的树形结构 ...

  8. VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示

    Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E&qu ...

  9. 树形结构部门的 sqlserver 排序

    树形结构部门的 sqlserver 排序 因为要实现部门排序功能,而且要考虑部门的层级,直接用 sql 排序是不行的,所以写个 sql function 来支持. 首先部门表:company CREA ...

  10. Android - N级树形结构实现

    目前已经实现3级之内的任意级树形结构展示(如果想增加更多级,需要扩展排序算法),并支持单选和多选(使用不同的适配器). 实现使用的控件:ListView 首先,最重要的应该是数据源的格式,支持树形结构 ...

随机推荐

  1. Oracle EBS Add Responsibility to User by the Responsibility reference of Other User.

    Oracle EBS 11i Add Responsibility to User by the Responsibility reference of Other User. Warning: R1 ...

  2. Android-画板

    在上一篇博客,Android-图像原理/绘制原理,讲解到绘图原理中,画布 + 画笔

  3. Git Note - Branch

    1. add a new branch cd workspace git branch user1/newbranch1 git checkout user1/newbranch1 or git ch ...

  4. KVM虚拟机windows系统增加硬盘

    原文:http://www.ilanni.com/?p=6211 前一篇文章介绍了有关linux系统添加硬盘的方法,这次我们来介绍有关windows系统添加的相关步骤. 其实linux和windows ...

  5. Jenkins 默认没有Launch agent via Java Web Start,该如何配置

    打开"系统管理"——"Configure Global Security" TCP port JNLP agents 配置成"随机",点击& ...

  6. C# 调用Delphi dll

    delphi dll 源码: library dllres; type char10 = ..] of char; TMydata = packed record id: Integer; name: ...

  7. ASP.NET MVC学习目录

    一.ASP.NET MVC原理详解 1.了解MVC架构模式 3.学习ASP.NET MVC的必备语言知识 4.MVC中的razor语法详解 5.ASP.NET MVC路由系统机制详细讲解 6.ASP. ...

  8. 基于SSH的客户关系管理系统CRM-JavaWeb项目-有源码

    开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: 项目的编译和运行:1 将数据库导入MysSql里 :打开HeidiSql这个图形化工具,新建一个数据库, 可 ...

  9. GO学习笔记 - 数据类型推导

    官方教程:https://tour.go-zh.org/basics/14 在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出 ...

  10. loadrunner代理录制

    loadrunner在使用过程中会受到浏览器版本的限制,有些web服务在低版本的浏览器上不能兼容,可通过代理录制的方式解决此问题. 注: (1)本文中的ip仅作示例,要按实际测试情况填写ip. (2) ...