Получение AttributeError: объект «NoneType» не имеет атрибута «rightnode» в дереве avlPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение AttributeError: объект «NoneType» не имеет атрибута «rightnode» в дереве avl

Сообщение Anonymous »

В настоящее время я изучаю структуры данных, и у меня возникла проблема с деревом AVL.
Код:
from myqueue import Queue # my custom queue implemented by linked list

class AVL:

def __init__(self,data):
self.data=data
self.leftnode=self.rightnode=None
self.height=1

def LevelOrderTransversal(self):
if not self:
return
queue=Queue()
queue.enqueue(self)
while not (queue.isempty()):
root=queue.dequeue()
print(root.data)
if root.leftnode is not None:
queue.enqueue(root.leftnode)
if root.rightnode is not None:
queue.enqueue(root.rightnode)

def getheight(rootnode):
if not rootnode:
return 0
return rootnode.height

def getbalance(rootnode):
if not rootnode:
return 0
return getheight(rootnode.leftnode)-getheight(rootnode.rightnode)

def leftrotation(disbalancenode):
rootnode=disbalancenode.rightnode
disbalancenode.rightnode=disbalancenode.rightnode.leftnode
rootnode.leftnode=disbalancenode
disbalancenode.height=1+max(getheight(disbalancenode.leftnode),getheight(disbalancenode.rightnode))
rootnode.height=1+max(getheight(rootnode.leftnode),getheight(rootnode.rightnode))
return rootnode

def rightrotation(disbalancenode):
rootnode=disbalancenode.leftnode
disbalancenode.leftnode=disbalancenode.leftnode.rightnode
rootnode.rightnode=disbalancenode
disbalancenode.height=1+max(getheight(disbalancenode.leftnode),getheight(disbalancenode.rightnode))
rootnode.height=1+max(getheight(rootnode.leftnode),getheight(rootnode.rightnode))
return rootnode

def insertnode(rootnode,nodevalue):
if rootnode.data is None:
return AVL(nodevalue)
elif nodevalue1 and nodevalue1 and nodevalue>rootnode.leftnode.data:
rootnode.leftnode=leftrotation(rootnode.leftnode)
return rightrotation(rootnode)
if balance

Подробнее здесь: https://stackoverflow.com/questions/701 ... -in-avl-tr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Странное значение удаления узлов в дереве AVL
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Python Mediapipe AttributeError: объект «NoneType» не имеет атрибута «pose_landmarks»
    Гость » » в форуме Python
    0 Ответы
    137 Просмотры
    Последнее сообщение Гость
  • AttributeError: объект «NoneType» не имеет атрибута «to_capabilities».
    Anonymous » » в форуме Python
    0 Ответы
    103 Просмотры
    Последнее сообщение Anonymous
  • AttributeError: объект «NoneType» не имеет атрибута «to_capabilities».
    Anonymous » » в форуме Android
    0 Ответы
    94 Просмотры
    Последнее сообщение Anonymous
  • AttributeError: объект «NoneType» не имеет атрибута «текст» при бесконечной прокрутке веб-страниц
    Anonymous » » в форуме Python
    0 Ответы
    115 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»