Junior — Middle
Môžete uviesť príklad situácie, keď zvolené riešenie úlohy bolo nesprávne alebo neefektívne?
sobes.tech AI
Odpoveď od AI
Jedna z typických situácií je výber neefektívnej dátovej štruktúry alebo algoritmu pre úlohu. Napríklad, ak je potrebné často vyhľadávať a vkladať prvky v Go, môžete použiť rezy ([]T), ale pri veľkom objeme dát budú operácie vkladania a odstraňovania mať zložitosť O(n), čo nie je efektívne.
Najlepším riešením v takom prípade je použitie zabudovaných máp (map), ktoré zabezpečujú amortizovaný čas prístupu a vkladania približne O(1).
Príklad nesprávneho riešenia:
var data []int
// Časté pridávanie a odstraňovanie prvkov uprostred rezu
Správne riešenie:
dataMap := make(map[int]bool)
// Rýchly prístup a aktualizácia prvkov
Preto je dôležité vyberať vhodné dátové štruktúry s ohľadom na požiadavky na výkon.