Milyen bonyolultsági osztályba tartozik ez az algoritmus?
Két lépést hajtunk végre egy string tömbön, először megcseréljük minden string első és utolsó karakterét aztán rendezzük a tömböt csökkenő ABC sorrendben.
Ez milyen bonyolultsági osztály lesz?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
O(f(n))-nek azok az elemei, amikhez tudunk találni olyan c konstans számot, hogy egyik elem se érje el c*f(n)-t, ahogy az n növekszik egy rögzített n0 után. Tehát f(n)-t fel tudod rajzolni úgy a grafikonra tetszőlegesen eltolva az y-n tengelyen, hogy akármilyen összehasonlítást végzel, ezt az értéket ne érje el. Neked komplexitás becslése során egy ilyen "maximumot" (idézőjel!) kell keresned. O(m) nem azt mondja, hogy m összehasonlítást kell végezned, hanem azt, hogy akármekkorák a stringek, egyik sem lesz költségesebb mint c*m.
Ne keverd össze az "alsó becsléssel', ami az omega, vagy a kétoldalival, ami a teta.
"a stringek összehasonlítása pedig lineáris, így O(m), ahol m a leghosszabb string hossza"
Én ezt kérdezem, hogy itt miért a leghosszabb string hossza m?
Én úgy gondolnám hogy a 2. leghosszabb string hossza mert a leghosszabbat csak akkor vizsgáljuk végig ha van más ugyanolyan hosszú is. Akkor viszont ugyanúgy a 2. leghosszabbtól függ a bonyolultság.
Ez miért nem így van?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"A rendezés pedig szerinte akkor lenne n*logn ha minden string 1 karakter hosszú lenne hiszen stringeket karakterenként hasonlítunk össze és nem mindegy hogy 1 karakter hosszú stringeket hasonlítunk össze vagy 1 millió karakter hosszúakat."
LOL
A rendezés ABC szerint kelene, hogy végbemenjen, akkor mi a bánatnak kéne végigmenni a string minden egyes karakterén?
Azt nem tudhatjuk előre, hogy a stringek tartalma mi, tehát ennek a feladatnak az Ordóját ennyi infóból lehetetlen megállapítani.
14-es tegyük fel ez a két stringed:
"aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaaaab"
Hány karakteren mész végig hogy összehasonlítsd?
Vagy a nagy ordó jelentését nem ismered?
A kérdést amúgy 8-as megválaszolta szerintem.
Azt nem értem hogy m miért a leghosszabb string hossza és miért nem a 2. leghosszabbé.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
14-es tegyük fel ez a két stringed:
"aaaaaaaaaaaaarwetedfcvbtzrknmsd"
"aaaaaaaaaaaabedfaskdfvsefiburelnikaveldexarte"
Hány karakteren mész végig hogy összehasonlítsd?
Mert ha az egészen, akkor meg is érdemled.
Megismétlem:
Azt nem tudhatjuk előre, hogy a stringek tartalma mi, tehát ennek a feladatnak az Ordóját ennyi infóból lehetetlen megállapítani.
Közben találtam rá stackoverflow-n is magyarázatot:
Tehát valóban 8-asnak (és osztálytársamnak) van igaza.
Csak azt nem értem továbbra sem hogy m miért a leghosszabb string hossza.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Osztálytársam azt mondja hogy az első lépés attól függ hogy milyen nyelvről beszélünk mert ha mutable a string"
Az osztálytársad inkjább még tanulgasson.
A komplexnél az egész feladatot vesszük, nem azt, hogy ekkor vagy akkor mi van.
Ha a válaszott eszköz (nyelv) igényel cserét, akkor a csere is a feladat része lesz, tehát a komplexre is hatással lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!