Python Словарь двоичного дерева поиска - PullRequest
0 голосов
/ 05 февраля 2010

Я изо всех сил пытаюсь узнать, как кодировать базовую реализацию, используя словарь и упорядоченное дерево двоичного поиска в Python. Класс должен использовать следующую структуру.

Я был бы очень рад, если бы кто-то мог заполнить пропуски (пропуск) в каждой функции, чтобы начать меня.

class Dictionary:

    def __init__ (self):

        pass

    def insert (self, key, value):

        pass

    def delete (self, key):

        pass

    def find (self, key):

        pass

    def traverse (self, f):

        pass

    def __str__ (self):

        return str(self)

Ответы [ 3 ]

0 голосов
/ 05 февраля 2010

двоичное дерево

Вы можете использовать представление массива двоичного дерева . Python имеет мощный список типов данных , который сделает большую часть работы тривиальной. :)

class BinaryTree():
  def __init__(self):
     self.nodes = []

Вот фундамент, с которого вы можете начать.

0 голосов
/ 29 ноября 2012

Если вы все еще ищете ответ, взгляните на этот рецепт: http://code.activestate.com/recipes/577197-sortedcollection/. Я думаю, что он дает вам достаточно основы, чтобы настроить его именно на то, что вы хотите.

0 голосов
/ 05 февраля 2010
class Dictionary:
    def __init__ (self):
        self.data = {}
    def insert (self, key, value):
        self.data[key] = value
    def delete (self, key):
        if key in self.data:
            del self.data[key]
    def find (self, key):
        if key in self.data:
            return self.data[key]
        return None
    def traverse (self, f):
        for key,value in self.data:
            f(key,value)
    def __str__ (self):
        return str(self)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...