树和图的数据结构,就很有意思啦。

# coding = utf-8

class BinaryTree:

def __init__(self, root_obj):

self.key = root_obj

self.left_child = None

self.right_child = None

def insert_left(self, new_node):

node = BinaryTree(new_node)

if self.left_child is None:

self.left_child = node

else:

node.left_child = self.left_child

self.left_child = node

def insert_right(self, new_node):

node = BinaryTree(new_node)

if self.right_child is None:

self.right_child = node

else:

node.right_child = self.right_child

self.right_child = node

def get_right_child(self):

return self.right_child

def get_left_child(self):

return self.left_child

def set_root_val(self, obj):

self.key = obj

def get_root_val(self):

return self.key

root = BinaryTree('a')

print(root.get_root_val())

print(root.get_left_child())

root.insert_left('b')

print(root.get_left_child())

print(root.get_left_child().get_root_val())

root.insert_right('c')

print(root.get_right_child())

print(root.get_right_child().get_root_val())

root.get_right_child().set_root_val('hello')

print(root.get_right_child().get_root_val())

C:\Users\Sahara\.virtualenvs\test\Scripts\python.exe C:/Users/Sahara/PycharmProjects/test/python_search.py

a

None

<__main__.BinaryTree object at 0x00000000024139B0>

b

<__main__.BinaryTree object at 0x00000000024139E8>

c

hello

Process finished with exit code 0

UVA 699 The Falling Leaves (递归先序建立二叉树)

题目链接:http://acm.hust.edu.cn/vjudge/problem/19244 #include #include # ...

UVa 839 &lpar;递归方式读取二叉树&rpar; Not so Mobile

题意: 递归的方式输入一个树状天平(一个天平下面挂的不一定是砝码还可能是一个子天平),判断这个天平是否能满足平衡条件,即W1 * D1 == W2 * D2. 递归的方式处理输入数据感觉很巧妙,我虽然 ...

【Python】利用递归函数调用方式,将所输入的字符串,以相反的顺序显示出来

源代码: """ 利用递归函数调用方式,将所输入的字符串,以相反的顺序显示出来 string_reverse_output():反向输出字符串的自定义函数 pending ...

Python最佳工程实践,建立一个完美的工程项目

在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上.本文以Python为例,教大家如何快速打造完美的Python项目开发环境:内容涵盖了模块依赖管理 ...

&lbrack;LeetCode&rsqb; Construct Binary Tree from Preorder and Inorder Traversal 由先序和中序遍历建立二叉树

Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...

python 解决递归调用栈溢出

递归函数 2578次阅读 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact ...

LeetCode 105&period; Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)

Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...

python通过get&comma;post方式发送http请求和接收http响应的方法,pythonget

python通过get,post方式发送http请求和接收http响应的方法,pythonget 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家 ...

随机推荐

RabbitMQ学习系列(五)&colon; RPC 远程过程调用

前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...

Wrangle – 响应式的,触摸友好的多选插件

Wrangle 是一个响应式,触摸友好的选择插件,支持 jQuery 以及 Zepto.Wrangle 为多项选择提供了一个独特的方法:通过画一条贯穿项目的线条来选择项目.它给你的应用程序的一种新的方 ...

matlab中的卷积——filter,conv之间的区别

%Matlab提供了计算线性卷积和两个多项式相乘的函数conv,语法格式w=conv(u,v),其中u和v分别是有限长度序列向量,w是u和v的卷积结果序列向量. %如果向量u和v的长度分别为N和M,则 ...

Java教程——CMD手动编译运行失败原因(高手略过)

(仅对新手,高手略过)在学习Java初期,我们在利用cmd手动编译java程序的时候,会遇到编译成功,但运行却总是提示失败.已经排除了java配置环境的问题,Path和ClassPath以及%JAVA ...

每天一个linux命令&lpar;12&rpar;&colon;more命令

1.命令简介 more (more) 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比,方便逐页阅读(file perusal filter fo ...

在子类中调用父类的方法super

1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country=&quot ...

18位身份证验证(Java)加入身份证输入验证是否满足18位代码(修订稿)

package day20181016; /** * 身份证的验证 34052419800101001X * */ import java.util.Scanner; public class Zuo ...

jmeter完成数据批量添加

Jmeter结构如图 目的: 需要在每个组织下面分别添加5个设备资源 思路: 1.先登录平台 2.进入系统配置页面 3.获取到每个区域的ID 4.在每个区域下面添加设备资源 重点及难点: 1.登录加密 ...

Redis全方位详解--磁盘持久化和容灾备份

序言 在上一篇博客中,博客介绍了redis的数据类型使用场景和redis分布式锁的正确姿势.我们知道一旦Redis重启,存在redis里面的数据就会全部丢失.所以这篇博客中向大家介绍Redis的磁盘持 ...

bzoj1706&colon; &lbrack;Usaco2007 Nov&rsqb;relays 奶牛接力跑 &lpar;Floyd&plus;新姿势&rpar;

题目大意:有t(t<=100)条无向边连接两点,求s到e刚好经过n(n<=10^7)条路径的最小距离. 第一反应分层图,但是一看n就懵逼了,不会写.看了题解之后才知道可以这么玩... 首先 ...

python构建二叉树_python--使用递归的方式建立二叉树相关推荐

  1. 【图论】【二叉树】以先序字符串方式建立二叉树

    问题 I(1186): [基础算法]以先序字符串方式建立二叉树 时间限制: 1 Sec  内存限制: 64 MB 题目描述 输入一个二叉树的先序串,输出其后序遍历结果.如果结点的子树为空,先序串的对应 ...

  2. python非递归前序遍历二叉树_Python非递归实现二叉树的后续遍历

    leetcode 145. Binary Tree Postorder Traversal 思路一: 使用一个栈stack保存经过的根结点,另一个栈flag保存每个结点的右子树是否遍历: 如果根结点存 ...

  3. 刷题:二叉树的非递归遍历方式

    二叉树的非递归的遍历方式 上篇博客记录了二叉树的递归遍历方式以及根据二叉树的遍历结果还原二叉树的内容. 本篇博客记录二叉树的非递归的遍历方式. 二叉树的非递归遍历需要借助栈来实现,而且三种遍历的方式的 ...

  4. c语言以顺序结构存储的二叉树的非递归遍历,C语言二叉树的非递归遍历实例分析...

    本文以实例形式讲述了C语言实现二叉树的非递归遍历方法.是数据结构与算法设计中常用的技巧.分享给大家供大家参考.具体方法如下: 先序遍历: void preOrder(Node *p) //非递归 { ...

  5. python构建时间_python创建日期

    Python学习笔记-第一章-Python简介 书目:Python(Unix和Linux系统管理指南) 学习日期:20120627 知识点总结: Python的优势: 既简单易学,也可以完成任何复杂任 ...

  6. python构建知识库_Python学习知识库

    2017年10月16日 1. too broad exception clause 捕获的异常过于宽泛了,没有针对性,应该指定精确的异常类型 场景: defcheck_data_type(column ...

  7. python计算等差数列_python 等差数列末项计算方式

    等差数列末项计算 题目内容: 给出一个等差数列的前两项a1,a2,求第n项是多少 可以使用以下语句实现非负整数n的输入: n=int(input()) 输入格式: 三行,包含三个整数a1,a2,n 输 ...

  8. 有苦有乐的算法 --- 用栈和递归的方式实现二叉树的前序遍历、中序遍历、后序遍历

    前序遍历 递归方式: public static void pre(Node head) {if (head == null) {return;}System.out.println(head.val ...

  9. 用python找孪生素数_python用递归筛选法求N以内的孪生质数(孪生素数)

    本人最近读完一本书<质数的孤独>,里面讲到孪生质数,就想查一下孪生质数的分布情况.其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比 ...

最新文章

  1. HDU 2196 Computer 树形DP经典题
  2. 自己写 localtime 函数(含完整注释,代码)转载
  3. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
  4. [How TO]-virtualbox下安装ubuntu14.04超详细
  5. 【Rsyslog】 从json 中通过正则 key 获取 value值,rsyslog正则匹配获取key 的 value值
  6. mybatis mysql Dao_Dao模式创建mybatis项目过程
  7. L2-1 简单计算器 (25 分)详解c语言 模拟堆栈
  8. 分析Java中的三种不同变量的区别
  9. mysql007.算数运算.别名.去重.排序
  10. MaxCompute studio与权限那些事儿 1
  11. 案例研究:浮动静态路由
  12. app开发团队人员构成怎么分配?国内著名的app开发团队有哪些
  13. ai快捷键常用表_掌握这些AI常用快捷键和小技巧,提高速度
  14. 解决速达软件提示将numeric转换为数据类型numeric时发生算术溢出错误问题
  15. 计算机二级vb语言题库百度云,全国计算机二级考试VB语言考试试题
  16. java怎么实现微博评论_用户操作之回复评论、查看微博评论功能实现一
  17. GBase 8c 备份控制函数(三)
  18. ubuntu系统克隆
  19. rust写操作系统 rCore tutorial 学习笔记:实验指导零 创建项目与启动
  20. 1197 山区建小学

热门文章

  1. 20170706xlVBA城中村改造汇总
  2. CS190.1x Scalable Machine Learning
  3. hdu4027Can you answer these queries?
  4. Java学习笔记之:Java引用数据类型之字符串
  5. DEBUG主要命令(转)
  6. sql 为什么要用where 1=1或者where 1 =0 ?
  7. Linux内核工程师是怎么步入内核殿堂的?
  8. 周琦能和范志毅比高下?
  9. linux 内核宏container_of剖析
  10. 用Android UEventObserver监听内核event