Python 二叉树实现
生活随笔
收集整理的這篇文章主要介紹了
Python 二叉树实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
二叉樹是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹的樹結(jié)構(gòu)。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)
二叉樹的節(jié)點(diǎn)表示以及樹的創(chuàng)建
1、通過使用Node類中定義三個(gè)屬性,分別為elem本身的值,還有l(wèi)child左孩子和rchild右孩子
2、樹的創(chuàng)建,創(chuàng)建一個(gè)樹的類,并給一個(gè)root根節(jié)點(diǎn),一開始為空,隨后添加節(jié)點(diǎn)
class Node(object):'''節(jié)點(diǎn)類'''def __init__(self, elem, lChild = None, rChild = None):self.elem = elemself.lChild = lChild #左子樹self.rChild = rChild #又子樹class Tree(object):'''二叉樹'''def __init__(self, node = None):self.root = nodedef add(self, item):'''添加子樹''''''思路1、先找到要添加元素的節(jié)點(diǎn)'''node = Node(item)if self.root is None:self.root = nodereturnli = [self.root]while li:cur_node = li.pop(0)if cur_node.lChild is not None:li.append(cur_node.lChild)else:cur_node.lChild = nodereturnif cur_node.rChild is not None:li.append(cur_node.rChild)else:cur_node.rChild = nodereturn?
總結(jié)
以上是生活随笔為你收集整理的Python 二叉树实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: div+css 单行或者多行超出文本,数
- 下一篇: 《Think Python》最新中文版火