Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




03_seznamy_realizace

PDF
Stáhnout kompletní materiál zdarma (43.42 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Seznamy - realizace 

Popis problému: 

Máme dlouhatánskou, které chybí část, kterou tedy chceme přidat. 

Ve větě chybí slovo „větu“ 

Máme dlouhatánskou větu, které chybí část, kterou tedy chceme přidat. 

Jaký datový typ bude použit pro uložení věty?  
Jak budeme realizovat přidání chybějícího textu? 
Bude stačit paměť? 

Ve větě se nám vyskytlo „netechnické“ slovo – potřebujeme jeho část vynechat. 

Máme dlouhatánskou větu, které chybí část, kterou tedy chceme přidat. 

Jaký datový typ zvolíme pro uložení tohoto typu dat? (Text, Věta, Slovo) 
Jak budeme realizovat vyjmutí části textu? 
Jak bude vypadat hospodaření s pamětí? 

Základní datové struktury – charakterizují organizaci dat v paměti 

-  lineární seznam   

-  strom 

Seznam (kontejner) 

-  skládá se z prvků (Node, uzel, element, ...) 

-  každý prvek má dvě části – datovou a část odkazující na další prvek 

 
Ukázka realizace seznamu v C: 
struct TLinSeznam { 
double iData; // hodnota node, obecně jakýkoli počet, jakýkoli typ 
struct TLinSeznam *iNext; // jedno i obousměrný 
struct TLinSeznam *iPrev; // obousměrný 

TLinSeznam a = {0,NULL,NULL},...,d={0,NULL,NULL},  *Prvni=NULL; 
Prvni = &a;    // pouze v této funkci a funkcích volaných 
    

// jinak proměnné zanikají 

a.iNext = &b; 
b.iNext = &c; 
c.iNext = &d; 
 

Ukázka realizace stromu v C: 
 
struct TStrom { 
double iData; // hodnota uzlu, obecně jakýkoli počet, jakýkoli typ 
struct TStrom *iLeft; // jedna větev 
struct TStrom *iRight; // druhá větev 

TStrom a = {0,NULL,NULL},..., g={0,NULL,NULL},*Vrchol=NULL; 
Vrchol = &a;    // pouze v této funkci a funkcích volaných 
    

Témata, do kterých materiál patří