Kezdőoldal » Számítástechnika » Programozás » Logaritmikus, intervallumfelez...

Logaritmikus, intervallumfelezéses keresés C++ -ban?

Figyelt kérdés

Hogy működik? Van értelme egyáltalán ezt használni?


int ujhatar = alsohatar+(felsohatar-alsohatar)/2; //Ez lesz az új határ, de nem tudjuk, hogy alsó vagy felső.

if (tomb[ujhatar]==keresettertek){

//Kész vagyunk! Ráhibáztunk!

cout << "Benne van! Megpedig a(z) " << ujhatar << ". helyen.";

benneVanE = true;

}

else if (tomb[ujhatar]<keresettertek){

alsohatar = ujhatar;

}

else{

felsohatar = ujhatar;

}


2016. febr. 5. 15:41
 1/6 anonim ***** válasza:
100%

[link]

G.

2016. febr. 5. 15:50
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
És mennyivel van több értelme ezt használni, mintha csak egy for ciklussal végigmennék az elemeken?
2016. febr. 5. 15:53
 3/6 anonim ***** válasza:
100%
Semmi értelme, mert mindkettőre van már függvény az STL-ben.
2016. febr. 5. 15:57
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
81%
Valóban semmi értelme, de ha a kérdező elolvasta volna a cikket, rájött volna, hogy miért lenne jobb a logaritmusos keresést használni lineáris helyett.
2016. febr. 5. 16:02
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Ha föltesszük, hogy:

- neked kell implementálni

- csak kis elemszámra fog lefutni


Ekkor valóban semmi, de általában nem ez a helyzet, hanem:

- lehet akárhány elem, de legalábbis 100-szor, 1000-szer annyi, mint amennyivel teszteled

- csak választanod kell STL-ből, vagy más libraryból, hogy melyik függvényt használod


Tudni meg azért érdemes, mert teljesen alap dolog, nem is ragoznám.. (amúgy a bináris keresésnél meglepően könnyen lehet off-by-one errorba futni, ne lepődj meg, ha esetleg te is elkövetnéd.. vagy esetleg más hibát)

2016. febr. 5. 17:56
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Ha tanulsz, akkor felejtsd el az STL-t és csináld meg saját kútfőből. Ha másért nem:

1. Hogy tudd.

2. Akadhat olyan helyzet, amikor STL nem lesz, vagy ha lenne is, azt nem használhatod.

2016. febr. 5. 21:54
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!