Kiválogatás vagy szétválogatás elve?
"A kiválogatásban if van míg a szétválogatásban if ele"
Hibás megközelítés.
A szétválogatást is meg lehet oldani kizárólag if-fel, az más kérdés, hogy nem olyan elegáns. De ha mondjuk valamilyen alacsonyabb szintű nyelvben írod, akkor eleve nem is lesz többirányú elágazásod.
A tétel pedig egy algoritmust ír le, és nem egy konkrét nyelven írt utasításokat, tehát magában a tételben sem if, sem else nincs, hanem egy- vagy többirányú elágazás. Hogy azt adott nyelven hogy íhvják, az más kérdéskör.
De a kérdés nem ez volt. Ez kb. olyan, hogy megkérdezem, mi a különbség a személygépkocsi, meg az autóbusz között? És erre azt a választ adod, hogy az egyiknek az elején van az sz betű, a másiknak a végén. Igaznak igaz, csak nem erre voltunk kíváncsiak. Próbáld meg a lényeget megragadni! Miről is szól a kivákogatás tétele? Adott egy sorozat, és egy tulajdonság. Válogassuk ki a sorozat azon elemeit, melyek az adott tulajdonsággal rendelkeznek. És miről szól a szétválgoatás tétele? Adott egy sorozat, és két (vagy több) tulajdonságosztály, melyek valamelyikébe - és mindig csak egyetlenegybe - minden elem egyértelműen besorolható. Válogassuk szét ezen tulajdonságosztályok alapján a sorozat elemeit! (Van egyszerűbb megfogalmazása is persze, mondjuk hogy egy tulajdonság van, és válogassuk szét aszerint, hogy rendelkezik-e az elem ezen tulajdonsággal. Ez már egy speciális esete az előbb leírtnak.)
Mi a különbség? Az, hogy a kiválogatás csak bizonyos elemeket gyűjt ki, a szétválogatás meg a többit is, csak egy másik tömbbe (vagy listába, sorba, verembe, akármibe). Jelen példa alapján: ha te csak az 5-tel oszthatóakat akarod kigyűjteni, akkor az kiválgoatás, mert a többivel nem foglalkozol. De ha ki akarod gyűjteni az 5-tel oszthatókat és az 5-tel nem oszthatókat is, akkor az szétválogatás, mert mindegyiket kigyűjtöd, csak külön tömbbe.
(Megjegyzés: kiválgoatás helyett mindig használható a szétválogatás... csak felesleges, nem optimális.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!