我不确定是否存在问题,所以我只想把它写下来.我正在iphone 5s上使用swift,xcode 7.2开发.并使用计算执行时间
NSDate.timeIntervalSinceReferenceDate()
我创建了2个数组,一个包含200,000个元素,另一个包含20个.并尝试随机访问其元素.访问大元素的元素几乎慢了55倍!我知道它更大但不是这个O(1)?
我也尝试过相同的java和大小数组的访问速度相同.
从CFArrayheader苹果文档中,我发现了这个:
访问数组中特定索引处的任何值最差为O(log n),但通常应为O(1).
但它认为根据我测试的数字,这是不可能的.
我知道我没有做过大的考验或有什么特别的事情,但是它不起作用的事实真的让我头疼!我有点需要这个我正在做的事情.并且该算法不适用于swift和iOS及其在java和android上的工作.
let bigSize:Int = 200000
var bigArray = [Int](count:bigSize,repeatedValue:0)
let smallSize:Int = 20
var smallArray = [Int](count:smallSize,repeatedValue:0)
for i in 0..<bigSize
{
bigArray[i] = i + 8 * i
}
for i in 0..<smallSize
{
smallArray[i] = i + 9 * i
}
let indexBig = Int(arc4random_uniform(UInt32(bigSize)) % UInt32(bigSize))
let indexSmall = Int(arc4random_uniform(UInt32(smallSize)) % UInt32(smallSize))
var a = NSDate.timeIntervalSinceReferenceDate()
print(bigArray[indexBig])
var b = NSDate.timeIntervalSinceReferenceDate()
print(b-a) \\prints 0.000888049602508545
a …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚 go-Cobra 中 PersistentFlags 和 Flags 之间的区别是什么,我们应该什么时候使用它们。我读过这个,但我不明白。