Skip to main content
DL 1
  • Home
  • Calendar
  • Support
    User support GDPR
  • More
English ‎(en)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
You are currently using guest access
Log in
DL 1
Home Calendar Support Collapse Expand
User support GDPR
Expand all Collapse all
  1. Algoritmy a datové struktury
  2. Základní datové struktury
  3. Vlastni datovy typ

Vlastni datovy typ

Completion requirements
Opened: Friday, 21 December 2012, 12:00 AM
Due: Friday, 21 December 2012, 1:00 AM

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
You are currently using guest access (Log in)
Get the mobile app
Powered by Moodle