Jaka jest złożoność funkcji wbudowanej go w wersji append
? A co z konkatenacją ciągów przy użyciu +
?Big O z dołączenia do golang
Chciałbym usunąć element z plasterka, dołączając dwa plasterki z wyłączeniem tego elementu, np. http://play.golang.org/p/RIR5fXq-Sf
nums := []int{0, 1, 2, 3, 4, 5, 6, 7}
fmt.Println(append(nums[:4], nums[5:]...))
=> [0 1 2 3 5 6 7]
http://golang.org/pkg/builtin/#append mówi, że jeśli cel ma wystarczającą pojemność, a następnie, że plaster jest resliced
. Mam nadzieję, że "reslicing" jest ciągłą operacją czasu. Mam również nadzieję, że to samo dotyczy łączenia ciągów przy użyciu +
.
Niektórzy odnoszą się do zachowania: http://criticalindirection.com/2016/02/17/slice-with-a-pinch-of-salt/ – user31986