Junior — Middle
Můžete uvést příklad situace, kdy zvolené řešení úkolu bylo nesprávné nebo neefektivní?
sobes.tech AI
Odpověď od AI
Jedna z typických situací je volba neefektivní datové struktury nebo algoritmu pro úkol. Například při častém hledání a vkládání prvků v Go lze použít řezy ([]T), ale při velkém objemu dat budou operace vkládání a mazání mít složitost O(n), což není efektivní.
Nejlepším řešením v takovém případě je použití vestavěných map (map), které zajišťují amortizovaný čas přístupu a vkládání přibližně O(1).
Příklad nesprávného řešení:
var data []int
// Časté přidávání a odstraňování prvků uprostřed řezu
Správné řešení:
dataMap := make(map[int]bool)
// Rychlý přístup a aktualizace prvků
Je tedy důležité vybírat vhodné datové struktury s ohledem na požadavky na výkon.