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. 阵列中的红宝石
- 15. 红宝石阵列注入
- 16. 完成红宝石阵列
- 17. 红宝石:在阵列
- 18. 红宝石阵列值
- 19. 红宝石阵列范围
- 20. 拼合红宝石阵列
- 21. 红宝石阵列平等
- 22. 红宝石阵列切片
- 23. 红宝石阵列打印
- 24. 红宝石YAML阵列
- 25. 红宝石:从内部类
- 26. 红宝石跟踪自阵列#内部的每个
- 27. 硬盒与使用内部hases阵列(红宝石)
- 28. 红宝石阵Indicies
- 29. 红宝石阵测绘双阵列
- 30. 红宝石阵列,在子阵列内删除所有东西
只需签出SVN depo并阅读源代码。 C程序员的实现并不是很难。 – texasbruce