树的实现

作者: 苟雨 | 来源:发表于2016-11-14 22:29 被阅读24次

    树是稍微高级一点的数据结构,其特殊的结构使它链表有更好的性能。
    树都有一个根节点,就是最上面的那个节点,然后可以由根节点分支形成子节点,一般一个节点有两个子节点,成为二叉树。然后以此类推,子节点可以有自己的子节点。这就形成了一棵树的形状,这就是树。
    下面用python来简单的实现呢一下基本的树:

    #coding:utf-8
    #节点类
    class Node(object):    
    def __init__(self,data):        
      self.left = None        
      self.right = None        
      self.data = data
    #树类
    class Tree:    
      def __init__(self,data):        
        self.root = Node(data)        
        self.count = 0    
      def insert(self,oldnode,data):        
        newNode = Node(data)        
        node = oldnode        
        if node.data > data and node.left != None:            
          self.insert(node.left,data)        
        if node.data < data and node.right != None :            
          self.insert(node.right,data)        
        if node.data > data and node.left == None:            
          node.left = newNode        
        if node.data < data and node.right == None:            
          node.right = newNode    
    #遍历树
      def lookup(self,node):        
        print node.data        
        if node.left != None:            
          self.lookup(node.left)        
        if node.right != None:            
          self.lookup(node.right)
    if __name__ == '__main__':    
      t = Tree(5)    
      t.insert(t.root, 8)    
      t.insert(t.root, 3)    
      t.insert(t.root, 12)    
      t.lookup(t.root)
    

    相关文章

      网友评论

        本文标题:树的实现

        本文链接:https://www.haomeiwen.com/subject/xplkpttx.html