"Map types" section of the go language specification descrive l'interfaccia e l'utilizzo generale dei tipi di mappe e lo "Go maps in action" post on The Go Blog indica casualmente tabelle hash e "ricerche rapide, aggiunte ed eliminazioni".Qual è la performance Big O delle mappe in golang?
Il current runtime/hashmap.go
source code descrive la sua implementazione come una tabella hash (che sono tipicamente ammortizzati O(1)
); tuttavia, non vedo alcuna garanzia delle caratteristiche delle prestazioni (come le prestazioni di Big O) nelle specifiche della lingua o in altri materiali.
Condivide la lingua andare a fare qualsiasi prestazioni garanzie (ad esempio costante di tempo di inserimento/di ricerca/cancellazione?) Per i tipi di carta o solo interfaccia garanzie? (Confronta con il linguaggio Java in cui interfacce e implementazioni sono chiaramente separati.)
Pertinente, controlla is page: [Numero 3885: profilo e tune map code] (https://github.com/golang/go/issues/3885) ([vecchio link] (https://code.google.com/p/go/ problemi/dettagli? id = 3885)) – icza
Hashing non è O (1), ad es. per archi. –