1
swift配列のpopLast()メソッドはComplexity:O(n)複雑さ:O(1)。これに関してより多くの情報を知ることができますか?swift配列のpopLast()メソッドがComplexityを持つのはなぜですか?配列がブリッジされている場合はO(n)
swift配列のpopLast()メソッドはComplexity:O(n)複雑さ:O(1)。これに関してより多くの情報を知ることができますか?swift配列のpopLast()メソッドがComplexityを持つのはなぜですか?配列がブリッジされている場合はO(n)
Array
は、コピーオンライトセマンティクスを持ちます。つまり、配列が変異している場合は、そのストレージバッファの排他的所有者であるかどうかをチェックする必要があります。バッファを共有する他の配列がある場合、配列はバッファを変更する前にコピーを作成する必要があります。あなたの質問に関しては
:私は配列はNSMutableArray
からブリッジされた場合は(そしておそらくNSArray
、私はよく分からない)と考えている他の所有者は、Objective-Cの側に存在する場合、それは確実に判断できないので、常にはコピーを作成する必要があります。言い換えれば、ブリッジ配列は最初の突然変異でネイティブのSwift配列に変換され、それはO(n)操作です。