Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

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