[#39863] forループの速度 — Masahiro Sato <msato@...>

15 messages 2004/07/20

[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>

大谷と申します。

31 messages 2004/07/20
[#39886] Re: イテレータとfor文 — Tietew <tietew-ml-ruby-list@...> 2004/07/21

[ruby-list:39830] Re: (要素がString, Fixnum 以外の)配列の集合演算

From: nobu.nakada@...
Date: 2004-07-06 09:03:50 UTC
List: ruby-list #39830
なかだです。

At Tue, 6 Jul 2004 15:34:50 +0900,
Hiroshi Takagi wrote in [ruby-list:39829]:
> 一点、わからないのが、
> 
>   (v = nil; oh = {}; ov.each {|v| oh[v] = true}; sv).all? do |v|
> 
> の部分です。
> 
> ここは、
> 
> sv.all? do |v| ... end
> 
> だけでは、まずいことがおこるのでしょうか?

動作としては変わりません。
Array#include?は線形時間なのでall?全体ではO(n^2)になります。一
方、Hash#include?は定数時間なので、最初にHashを作る手間はありま
すが、全体ではO(n)になります。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread