Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 22. 08. 2011 10:39

bella
Příspěvky: 75
Reputace:   
 

destruktivny/nedestruktivny

Prosim, moholi by ste mi pomoct s rozdielom medzi destruktivnym a nedestruktivnym napriklad prienikom pri BVS a jednosmernem spojovom zozname.

Dakujem...:)

Offline

 

#2 22. 08. 2011 11:36

OiBobik
Moderátor
Místo: Brno/Praha
Příspěvky: 1013
Škola: MFF UK Mat. struktury
Pozice: student
Reputace:   82 
 

Re: destruktivny/nedestruktivny

↑ bella:

Nedestruktivní průnik (sjednocení) znamená, že obě ty struktury, jejichž průnik dělám, se mi zachovají a průnik si uložím do jiné proměnné. Tedy vlastně je zakázáno vstupní proměnné měnit. Destruktivní naopak znamená, že novou proměnnou mám vlastně zakázanou, tj. průnik musí být uložen v některé z proměnných, jejichž průnik dělám. Tedy je zakázáno alokovat nové proměnné.

Např. princip nedestruktivního průniku uspořádaných lin. spoj. seznamů:

Alokuju prázdný lin. spojový seznam; přečtu první prvky z obou seznamů; vždy, když narazím na stejnou položku v obou seznamech, zkopíruji ji do průniku; pokud jsou položky neshodné, můžu předpokládat, že jedna je (ve smyslu onoho uspořádání) "menší" než druhá - v tom seznamu se posunu na další prvek. Takto pokračuju, dokud nedojdu na konec jednoho seznamu.

A destruktivně:
Chci udělat průnik seznamů A,B a ukládat jej budu do A. Na začátku přečtu první položky obou seznamů. Položky budu procházet následovně: Dokud aktuální položka z A > aktuální položka z B, čtu další položku z B. Pokud na konci tohoto procesu je položka v A stejná jako položka v B, posunu se na další položku v A a opakuji. Pokud ale je položka v A < položka v B, pak položku v A smažu a posunu se na další položku v A. Pokračuji, dokud nedojdu na konec některého ze seznamů. Pokud dříve dojdu na konec seznamu B, pak všechny zbylé (neprojité) položky v A musím smazat.


"The first rule of Tautology Club is the first rule of Tautology Club." [xkcd]

Offline

 

#3 22. 08. 2011 11:44

bella
Příspěvky: 75
Reputace:   
 

Re: destruktivny/nedestruktivny

Takze, pri tom destruktivnom je vysledok ulozeny v jednej z tych povodnych premennych, ked mame napriklad ten prienik tak vsetko co nepatri do prieniku z A vymazeme a musime zmazat aj cely spojovy zoznam B alebo so zoznamom B nic nerobime?

Offline

 

#4 22. 08. 2011 12:01

OiBobik
Moderátor
Místo: Brno/Praha
Příspěvky: 1013
Škola: MFF UK Mat. struktury
Pozice: student
Reputace:   82 
 

Re: destruktivny/nedestruktivny

↑ bella:

To je, myslím, nepodstatné. Můžeme ho klidně i smazat, ono to tolik práce navíc přece jen není : )) a na výsledném algoritmu se vlastně nic nezmění.


"The first rule of Tautology Club is the first rule of Tautology Club." [xkcd]

Offline

 

#5 22. 08. 2011 12:16

bella
Příspěvky: 75
Reputace:   
 

Re: destruktivny/nedestruktivny

Dakujem..:)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson