博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《面试》---Python 实现二叉树结构以及相关遍历
阅读量:4230 次
发布时间:2019-05-26

本文共 913 字,大约阅读时间需要 3 分钟。

第一部分

手动二叉树的构建

构建二叉树

a
b c
d f e
实际上是一个list
[a,[b,[d,[],[]],[f,[],[]]],[c,[],[e,[],[]]]]

# 构建根节点def BinaryTree(item):    return [item,[],[]]# 访问左右子数def getLeftChild(tree):    return tree[1]def getRightChild(tree):    return tree[2]# 插入左子树def insertLeft(tree,item):    leftSubtree = tree.pop(1)    # pop() 函数是 对原list去掉这个值,但是这个可以理解为取值    if leftSubtree:    # 如果原左子树节点存在的话,则插入节点,原节点,[]        tree.insert(1,[item,leftSubtree,[]])    else:    # 如果原左子树节点不存在的话,直接把节点当做节点插入 item,[],[]        tree.insert(1,[item,[],[]])    return tree# 插入右子树   同理左子树def insertRight(tree,item):    rightSubtree=tree.pop(2)    if rightSubtree:        tree.insert(2,[item,[],rightSubtree])    else:        tree.insert(2,[item,[],[]])    return tree#  根节点tree=BinaryTree('a')# 第一层insertLeft(tree,'b')insertRight(tree,'c')#  第二层insertLeft(getLeftChild(tree),'d')insertRight(getLeftChild(tree),'e')insertRight(getRightChild(tree),'f')print tree

转载地址:http://yliqi.baihongyu.com/

你可能感兴趣的文章
Microsoft SharePoint: Building Office 2007 Solutions in C# 2005
查看>>
Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional
查看>>
Beginning JBoss® Seam: From Novice to Professional
查看>>
Professional XML
查看>>
Foundations of Security: What Every Programmer Needs to Know
查看>>
Pro WF: Windows Workflow in .NET 3.0
查看>>
Beginning SQL Server 2005 Express for Developers: From Novice to Professional
查看>>
Multimedia over IP and Wireless Networks: Compression, Networking, and Systems
查看>>
Hacking Ubuntu: Serious Hacks Mods and Customizations
查看>>
PHP 5 Advanced: Visual QuickPro Guide
查看>>
Adobe Illustrator CS3 Classroom in a Book
查看>>
Sams Teach Yourself Adobe Photoshop CS3 in 24 Hours
查看>>
FileMaker Pro 8.5 Bible
查看>>
AutoCAD: Secrets Every User Should Know
查看>>
Combating Spyware in the Enterprise
查看>>
Microsoft Windows Vista Unveiled
查看>>
How to Cheat at Securing a Wireless Network
查看>>
Sams Teach Yourself Visual C# 2005 in 24 Hours, Complete Starter Kit
查看>>
Smarty Php Template Programming And Applications
查看>>
Web Site Measurement Hacks
查看>>