タスクシステム総合スレ part6at GAMEDEVタスクシステム総合スレ part6 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト119:並列さん ◆dPfetnROQg 09/04/06 04:19:36 yXbkibtb >>114 >>「型ごとに集めることを考えて、それから並べ替える」ほうが、 >>「並べ替えてから型ごとに集める」だとか「その二つを同時に行なう」より速いとは >> 限らないんだが。 >> そんな自分のやりやすい方法を言われても。 >後者よりも前者の方が常に速い。 >前者だと、 >1.型ごとに集める処理を端折れる。 >2.型ごとに並べ替えた方が速い。なぜなら並べ替えの計算量はO(n*logn)だから。 1.は、意味不明。「型ごとに集めることを考えて」なのだから、端折れてないと 思うんだが。 2.は、どうもあんたはまだ話がわかっちゃいないと思う。 120:並列さん ◆dPfetnROQg 09/04/06 04:22:45 yXbkibtb >>114 次の4つのインスタンスがあるとしよう。 Task A : プライオリティ = 1 Task A : プライオリティ = 4 Task B : プライオリティ = 2 Task B : プライオリティ = 3 Task A,BはTaskという基底クラスの派生型でvector<Task*>にぶち込まれていて これをいま呼び出し順を考慮しながら型ごとに分類しないといけないとしよう。 collection I. Task A : プライオリティ = 1 collection II. Task B : プライオリティ = 2 Task B : プライオリティ = 3 collection III. Task A : プライオリティ = 4 呼び出し順を考慮して、上のように分類されてcollectionが 生成されなければならない。 「型ごとに集めることを考えて、それから並べ替える」ほうが速いか? それに同じ型に対するcollectionは上のように複数いるぞ。 この意味で、>>97のような実装は不可だ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch