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