Перейти к основному содержанию
DL 1
  • В начало
  • Календарь
  • More
Русский ‎(ru)‎
Русский ‎(ru)‎ Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎
Вы используете гостевой доступ
Вход
DL 1
В начало Календарь
Развернуть всё Свернуть всё
  1. Algoritmy a datové struktury
  2. Základní datové struktury
  3. Vlastni datovy typ

Vlastni datovy typ

Требуемые условия завершения
Opened: пятница, 21 декабря 2012, 00:00
Due: пятница, 21 декабря 2012, 01:00

Naimplementujte v Pythonu tridu pro vlastní datový typ (může být i takový, co v Pythonu již existuje). Mějte pro něj implementované metody pro alespoň základní úkony:

  • Traversing
  • Searching
  • Insertion
  • Deletion
  • Sorting
  • Merging

Příklad implementace stacku, kde jsem naschvál zachoval názvy z úkonů výše. Některé úkony v samotném stacku nejsou proveditelné (search - museli bychom využít ještě jiné struktury nebo porušit to, že máme přístup jen k poslednímu prvku) nebo nedávají smysl (sort, podobně jako search):

class Stack:

    def __init__(self):
        self.data = ()

    def traversing(self):
        """peek in stack context"""
        value = self.data[-1]
        return value

    def is_empty(self):
        return self.data == ()

    def add(self, value):
        """push in stack context"""
        self.data += (value,)

    def delete(self):
        """pop in stack context"""
        value = self.data[-1]
        self.data = self.data[:-1]
        return value

    def merge(self, other_stack):
        for i in other_stack:
            self.add(i)
        return self.data

Samozřejmě se jedná o základní implementaci pro vzor (např. merge by mohl obsahovat test, zda druhý parametr je vskutku stack).

◄ Zakladni ADT
Grafy ►
Contact site support
Вы используете гостевой доступ (Вход)
Скачать мобильное приложение
Powered by Moodle