Přejít k hlavnímu obsahu
DL 1
  • Titulní stránka
  • Kalendář
  • Podpora uživatelů
    Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
  • Další
Čeština ‎(cs)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
Momentálně na stránky přistupujete s právy hosta.
Přihlášení
DL 1
Titulní stránka Kalendář Podpora uživatelů Sbalit Rozbalit
Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
Rozbalit vše Sbalit vše
  1. Algoritmy a datové struktury
  2. Základní datové struktury
  3. Vlastni datovy typ

Vlastni datovy typ

Požadavky na absolvování
Otevřené: pátek, 21. prosince 2012, 00.00
Termín: pátek, 21. prosince 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 ►
Kontaktujte podporu stránek
Momentálně na stránky přistupujete s právy hosta. (Přihlášení)
Stáhněte si mobilní aplikaci
Používá Moodle