Q
紅寶石陣列內部
11
A
回答
15
它們是可增長的陣列,「增長到最後」。
shift
是O(1)
,unshift
是O(n)
和通過索引訪問是O(1)
。據我所知,這對所有的ruby實現都適用,但它絕對在MRI中。
2
unshift是O(N^2)在我的ruby1.9中。
$ /usr/bin/time ruby -e 'n=100000;l=[];(1..n).each{|i| l.push(i);}'
0.03 real 0.02 user 0.00 sys
$ /usr/bin/time ruby -e 'n=100000;l=[];(1..n).each{|i| l.unshift(i);}'
3.15 real 3.11 user 0.01 sys
$ /usr/bin/time ruby -e 'n=200000;l=[];(1..n).each{|i| l.unshift(i);}'
12.96 real 12.85 user 0.03 sys
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]
相關問題
- 1. 紅寶石陣列
- 2. 紅寶石:內部
- 3. 紅寶石,計數陣列內
- 4. 紅寶石陣列範圍
- 5. 紅寶石陣列切片
- 6. 陣列中的紅寶石
- 7. 紅寶石陣列換行
- 8. 紅寶石發現陣列
- 9. 紅寶石陣列注入
- 10. 紅寶石陣列減法?
- 11. 兩個紅寶石陣列
- 12. 紅寶石:生成陣列
- 13. 紅寶石:從陣列
- 14. 紅寶石YAML陣列
- 15. 拼合紅寶石陣列
- 16. 紅寶石從陣列
- 17. 紅寶石嵌套陣列
- 18. 轉換陣列,紅寶石
- 19. 紅寶石:在陣列
- 20. 合併紅寶石陣列
- 21. 紅寶石 - 陣列弄平
- 22. 紅寶石陣列平等
- 23. 紅寶石陣列麻煩
- 24. 紅寶石陣列,[]操作
- 25. 紅寶石陣列打印
- 26. 紅寶石陣列值
- 27. 紅寶石塊到陣列
- 28. 完成紅寶石陣列
- 29. 陣列中的紅寶石
- 30. 在陣列紅寶石
只需簽出SVN depo並閱讀源代碼。 C程序員的實現並不是很難。 – texasbruce