VBSで便利なプログラムを作れスレ 2

1デフォルトの名無しさん
垢版 |
2018/10/13(土) 22:56:48.61ID:X8llOrQa
素人丸出しお粗末で遅くてもいいので
いますぐ使えるちょっぴり便利プログラムを作れ
(例○○を自動処理してくれるプログラム)

前スレ
VBSで便利なプログラムを作れスレ
https://mevius.5ch.net/test/read.cgi/tech/1170492587/
2019/03/16(土) 20:43:35.62ID:qc9yYKDp
>>378
結論は?
380デフォルトの名無しさん
垢版 |
2019/03/16(土) 20:45:34.90ID:vjeczwgh
>>379
いっておくけどお題スレで俺はお前には一切触れてないからな
381ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/03/16(土) 20:47:39.66ID:nk9NEvEm
君たち付き合っちゃいなよ
382デフォルトの名無しさん
垢版 |
2019/03/16(土) 20:57:49.44ID:vjeczwgh
>>381
名無しで出題しても非難を浴びてしまうキチガイぶり
だったら最初から大人しくしてろよ
2019/03/16(土) 21:10:08.13ID:qc9yYKDp
俺たち蟻は、異性のフェロモンやジェンダーパターンに引き寄せられる訳だが、人工的に作られた香水や
ジェンダーパターンの異常、遺伝子組み換えされた個体の放出によって、生存権が脅かされている訳で。
384デフォルトの名無しさん
垢版 |
2019/03/16(土) 21:12:21.34ID:vjeczwgh
>>383
終始こんな言動なんだから袋叩きにあって当然だと思うわ
2019/03/16(土) 21:19:53.83ID:qc9yYKDp
アメリカに嫌われた国のパソコンの動作はなぜか遅くなる。なぜでしょう?
386デフォルトの名無しさん
垢版 |
2019/03/16(土) 21:23:01.98ID:vjeczwgh
>>385
そりゃピラフにも邪険にされるってんだよ
2019/03/16(土) 21:41:15.81ID:qc9yYKDp
言及不能なんて嫌。魔界のドラゴンだって召喚したい。
388デフォルトの名無しさん
垢版 |
2019/03/16(土) 21:47:08.35ID:vjeczwgh
>>387
反論がなくなるよう意味不明なレスを繰り返してるんだろ?
ごちゃごちゃうるせえよ
389333
垢版 |
2019/03/16(土) 22:17:00.89ID:1E15fsAJ
>>370-371
ピッコロ様、ありがとう。参考にします

今、rubytree gem を使えるのか、説明書を読んでいるところです
390333
垢版 |
2019/03/17(日) 05:15:05.97ID:QeX4wN+m
他にも、ruby_structures というgem もあるようです

Stack, Queue, Linked List, Binary Tree, LRU Cache, Heap, Priority Queue, Graph and Weighted Graph など、
1人でアルゴリズムの部品を作っているようです

色々と、研究してみます

しかし、ピッコロの成長力は、すごいですね!
もう漏れは、軽く抜かれていますわw
391333
垢版 |
2019/03/17(日) 08:07:24.60ID:QeX4wN+m
>>370
accessor で、インスタンス変数の読み書きを公開できます。
それと、多重代入も使えます。
inspect も再定義しておけば、p の表示をカスタマイズできます

class Tree
attr_accessor :value, :left, :right

def initialize(value, left, right)
@value, @left, @right = value, left, right
end

def inspect( ) "#{ @value } : #{ @left ? @left.value : nil } : #{ @right ? @right.value : nil }" end
end

また、class を、module で囲むのもおすすめ

module BinaryTree
class BinaryTreeNode
end
end
392333
垢版 |
2019/03/17(日) 08:16:52.39ID:QeX4wN+m
それと、parent もあっても良いかも

def initialize(val=nil, parent=nil, left_child=nil, right_child=nil)
end
393ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/03/17(日) 16:39:27.38ID:5edblQfn
>>390-392
勉強になります!
スレを代表してお礼申し上げます!
394デフォルトの名無しさん
垢版 |
2019/03/17(日) 16:46:35.28ID:NN9FJVEV
>>393
片山に対してはかなりそっけないけど
ほめ倒してくれるルビー爺には全力で尻尾振るのなwww
395デフォルトの名無しさん
垢版 |
2019/03/17(日) 16:48:18.42ID:NN9FJVEV
>>393
といってもほんとに参考にするわけじゃなく
愛想をつかされないことが目的だろうけどな
お前が他人に敬意を払うなんてあるわけねえよ
396333
垢版 |
2019/03/17(日) 22:12:01.47ID:QeX4wN+m
この2分木は、同じ値が複数存在しないことが前提条件ですか?

複数あると、バグるのでしょうか?
397ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/03/18(月) 07:18:54.94ID:UIG1dfOf
>>396
ただの二分木なので同じ値があっても問題ないですよん

二分探索木も同じ値があっても問題ないです
ノードを通りがけ順で走査したときにソート順に値を得られるよう
同じ値はrightに入れられることが多いです

平衡二分探索木はSetやMapの実装として使われることが
多いので同じ値を認めないのが一般的かと
STLのMultimapでは同じ値を格納できるようにしてるって
情報を見たことがあります
398デフォルトの名無しさん
垢版 |
2019/03/18(月) 07:45:22.89ID:4IN80LjB
>>397
やだ!ピラフ答えたくない!
バグってるのはお前の頭だろ!

ってなってもよさそうなもんだけど
今やまとも相手にしてくれるのはルビージジイだけだからって
片山とはずいぶん態度か違うね
2019/03/18(月) 08:30:10.35ID:4V0ezuGu
>>398
いちいち絡めなくていいから。
400デフォルトの名無しさん
垢版 |
2019/03/18(月) 12:26:54.38ID:zOLrPQLC
>>399
このスレに来ることでピラフのキチガイを助長しちゃってるからね
そうじゃなかったら視界に入ってないよ
401333
垢版 |
2019/03/18(月) 22:38:04.62ID:e1XJ4IHa
平衡2分木は基本だね

インデックスに対して、MongoDBはB Treeを採用し、MySQLのInnoDBはB+ Treeを採用しているらしいし、
Linux のプロセス・スケジューラーは、赤黒木を使っている

B TreeとB+ Treeの違い
https://christina04.hatenablog.com/entry/2017/05/17/190000
402333
垢版 |
2019/03/18(月) 22:47:32.29ID:e1XJ4IHa
>>401
では、全データを走査するには、B Tree よりも、B+ Tree の方が良さそう。
ただし、メモリを2倍ぐらい使いそう

それと、逆順の走査には、next pointer を双方向ポインターにする方が良さそう
403333
垢版 |
2019/03/18(月) 22:58:55.64ID:e1XJ4IHa
>>401
のサイトの、B+ Tree Visualization を見てると、ものすごい複雑な動きをする!

これは、作れないわw
404ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/03/18(月) 23:53:57.37ID:I2mfleKh
>>401
B Treeは二分木じゃなくて多分木ですよん
赤黒木はB Treeの二分木バージョン

B+TreeはB Treeのリーフノードにのみ値を入れて
線形リストでつなぐってものでしょう
B Treeは配列を分割してくぜべいべーってだけだし
実装はそんなに難しくないんじゃないかな
余裕だよって片山さんが言ってました
よろしくお願いいたします
405333
垢版 |
2019/03/19(火) 00:52:44.33ID:Jqfpr2rV
平衡木の追加・削除時の、縮約・回転なども難しいし、多分木もさらに難しい
406デフォルトの名無しさん
垢版 |
2019/03/19(火) 07:23:30.53ID:GHYXsIt+
おい片山、このクズ>>404になめられてるぞ
407デフォルトの名無しさん
垢版 |
2019/03/19(火) 07:31:54.10ID:GHYXsIt+
>>404
表現こそ控えめだけど片山に対して敬遠してるんだろうな
ここに来られちゃうから相手にするだけで積極的には関わりたくはなさそう
人に嫌がることは大好きだから
絡めるなと訴えているのにあえて触れて知ったこっちゃないといわんばかり
桃白白時代から根本は何も変わってない人間の屑
408ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/04/15(月) 22:45:56.30ID:6a63cSFU
にんにん
409デフォルトの名無しさん
垢版 |
2019/04/15(月) 22:51:01.62ID:3/UGdN3S
>>408
       ::                .|ミ|
       ::                .|ミ|
        ::               .|ミ|           ::::::::
         :::::     ____ |ミ|          ::::
           :: ,. -'"´      `¨ー 、       ::
   ::        /   ,,.-'"      ヽ  ヽ、    ::
   ::     ,,.-'"_  r‐'"     ,,.-'"`     ヽ、 ::
   ::   /    ヾ (    _,,.-='==-、ヽ         ヽ、
   ::   i へ___ ヽゝ=-'"/    _,,>         ヽ 
   ::   ./ /  > ='''"  ̄ ̄ ̄               ヽ 
  ::   / .<_ ノ''"       ヽ               i
  ::   /    i   人_   ノ              .l
  ::  ,'     ' ,_,,ノエエエェェ了               /
    i       じエ='='='" ',              / ::
    ',       (___,,..----U             / ::
     ヽ、         __,,.. --------------i-'"  ::
      ヽ、_   __ -_'"--''"ニニニニニニニニヽ   ::
         `¨i三彡--''"´              ヽ  ::  
          /                      ヽ ::              ┼ヽ  -|r‐、. レ |
         /                     ヽ::            d⌒) ./| _ノ  __ノ
410ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/15(水) 22:44:52.84ID:kfoeBZKl
C言語を始めます
411デフォルトの名無しさん
垢版 |
2019/05/15(水) 22:59:26.73ID:ZKPE8MVh
>>410
: : : : : : : : : : : .    +   .:.:,,: : : : : : : : : : : :      :.| : : ,,
: +: : : : : : : : : : : : : : :       ,  ,:‘.  .. - :.,:. :.:_人._: . :.`'
: : : : : : :.:.,,.:.,,: : : : : : :      . ..; ', __ ... __ ‘. :.`': :,`Y´: . : . : : :
:::: : :., '´: . :`' ,: :  :     -‐ ´ ̄       `ミ、 ';.  |:., : .':: :
. ::  .:; : :十 : : ;..: :   ,  ' '⌒               \: : ;': - - '´
  *  ':,      .,.'   /                 ⌒ヽ   ヽ ,.  +
     ` - - '´      zニ三三         ___      \'゙´
           ,.'.    三三三       三三ミ゙z       '.,   +
     .    ./      /         ニ三三三       ヘ
     ..   .,'   XXX /           \  ̄`        ',
   ,イヽ,   i       {    人        }XXX/゙ゝ     i
 .i゚}ヽ .}    i.       `ー-ィ´  \      ノ   !.{ /゙{i    i
r゙ヽ ._}.‐|:    {           乂_  ノ` ー--‐ '  :i |-.i /゙{i  i
| _} } }  __  ハ          ゝ- -、{    ___ i. !-| | i イ
| _}.-| ''|/_,\ ヘ.             ∪}  ./, y__, ヽ|‐ !_.| |
| _} | _} / ヽ_ソ___________.iノ_/ ヽ、! | ! !
| __ -  ̄/   ( ヽ、、     ∞       ノヽ,   〉ー二  _.|
|ー  / ヽ、 ノー }゙゙' 、、         ,.r'"ヽ ‐ヽ.ノ ヽ  ー| i
|  / !    X、 / ヽ\        /    ゙; ノ    ゝ-  |   i
|    !    ソ.   ヽ ゙'.、    /      ヽ     /   .|    i
|        /      ゙: }゙⌒゙ソ       \       |     i   ┼ヽ  -|r‐、. レ |
ト    ー/        ヽノ,__ノ          \ー   ┤     i   d⌒) ./| _ノ  __ノ
412ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/15(水) 23:14:40.34ID:kfoeBZKl
C言語において配列はポインタです

#include <stdio.h>

int main(void){
 int a[3] = {1, 2, 3};
 printf("%d\n", a[0]);
 printf("%p\n", &a[0]);
 printf("%p\n", a);
 printf("%p\n", &a);

 int* b = a;
 printf("%d\n", *b);
 printf("%p\n", &(*b));
 printf("%p\n", b);
 printf("%p\n", &b);

}
413ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/15(水) 23:17:09.86ID:kfoeBZKl
この実行結果からわかることは何ですか?
2019/05/16(木) 06:51:48.86ID:BUJhrwgQ
C/C++ は、ポインタが面倒!

推奨本。
詳説 Cポインタ、2013、オライリー・ジャパン
415デフォルトの名無しさん
垢版 |
2019/05/16(木) 19:24:33.76ID:jcnQyK0o
>>1
【経緯】

「オレ的ゲーム速報@刃」(通称Jin)というゲーム系の大手アフィカス5chまとめブログがある

Jinは偏向まとめや対立煽りなどを繰り返して5chの住民から非常に嫌われていた

5ch住民がTwitter社に虚偽の著作権侵害通報をしてJinの宣伝用Twitterアカウントを凍結させる嫌がらせを思い付く

Jinは5chのAA「やる夫」をブログのイメージキャラクターとして使用していた
http://livedoor.blogimg.jp/jin115/imgs/6/7/67e4a6a3.jpg

そこでまず5ch住民がゲーム会社カルチャーブレーンの公式wiki(偽物)を作成してそこにやる夫のAA画像をアップロード
http://www65.atwiki.jp/culturebraingame
http://img.atwikiimg.com/www65.atwiki.jp/culturebraingame/attach/1/2/Jingomi.png

次にカルチャーブレーン社長・田中幸男を名乗ってJinが自社の著作権を侵害しているのでアカウントを凍結するようにTwitter社に通報

Twitter社は偽物のカルチャーブレーン公式wikiに騙されてJinのアカウントを凍結

JinがTwitter社の規約をよく読まずに脊髄反射で実名と住所を明記してTwitter社に凍結異議申し立てをしてしまう

Twitter社の規約によってJinの異議申し立ての内容(実名と住所を含む)が通報者の田中幸男(偽物)に通知される

田中幸男(偽物)がこれを5chで公開してJinの実名と住所が無事けんま対象に
http://i.postimg.cc/C15CLDYF/jin.png
416ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/16(木) 19:43:25.35ID:2k8Wv/07
>>414
あざーす!!
PDFを買いました!!!読んでみます!!!
417デフォルトの名無しさん
垢版 |
2019/05/16(木) 19:44:31.81ID:rYd/7u+R
>>416
自演乙
2019/05/17(金) 21:00:46.20ID:5uXz4WgO
片山もピラフも相変わらずへったくそ。
419ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/17(金) 22:06:57.85ID:0ADdj9iV
>>418
じゃあこれ解いて

プログラミングのお題スレ Part13
http://mevius.5ch.net/test/read.cgi/tech/1549160513/
| 920+8 :デフォルトの名無しさん [↓] :2019/05/16(木) 20:28:13.91 ID:3sIrlJF4
| お題
| 整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
| ただし1番小さい要素は1にすること
| 入力
| -6 3 9 5 3 -7
| 出力
| 2 3 5 4 3 1
2019/05/17(金) 22:18:49.35ID:5uXz4WgO
>>419
間接参照でソートしてゴニョゴニョしてみてね系の問題。ただそれだけ。

クレクレ君に答えはやらねーよ。
2019/05/17(金) 22:32:20.29ID:5uXz4WgO
>>419
調べたらお前自身のお題ってアホか。

「ちゃんと最悪の場合を見てないけどO(n^2)でもいいなら高校生でも解けるし高校生なら許す」
「でも普通はO(n)でいいよね」
「ピッコロは高校生じゃないよね」
「宿題出すな」

はいおしまい。
422デフォルトの名無しさん
垢版 |
2019/05/17(金) 22:39:41.67ID:8HaYh50j
>>419
自分じゃ大したお題を思いついたつもりなんだろうけど、実際はただの↓なんだよな
この程度でよく他人様に授業を始めますとか言えたもんだよ


934 名前:デフォルトの名無しさん[sage] 投稿日:2019/05/17(金) 12:14:50.20 ID:8VLhbVxR
>>920
は、ランク付けの問題だろ
2019/05/17(金) 22:48:45.47ID:5uXz4WgO
あーごめん。

〇「でも普通はO(log n)でいいよね」
×「でも普通はO(n)でいいよね」

しかし、ピラフだのピッコロだの片山はO記法を知らないであろう…。
2019/05/17(金) 22:51:42.16ID:/y7hsWfJ
ランダウの記号

だろ? 名前くらいは知ってるよ
2019/05/17(金) 22:54:03.65ID:5uXz4WgO
俺だってイチローは名前くらいは知ってるよ
だから何?て話じゃねーかよ

相手すんのつまんないからじゃあね
2019/05/17(金) 22:56:21.09ID:5uXz4WgO
あーお題スレでもお題のくだらなさがバレでボコられてんね。HAHAHA。
もっとおもろいお題出しなさい。

じゃあね。
427デフォルトの名無しさん
垢版 |
2019/05/17(金) 23:00:28.46ID:TGYryIO4
>>424
片山ちゃん、出てくるんだったらピラフをコケにしてよね
428ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 00:27:47.82ID:jjK+y75q
>>426
できないのな?
429ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 00:28:14.59ID:jjK+y75q
結局できなかったじゃん
口だけだったじゃん
430ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 00:32:08.98ID:jjK+y75q
>>420
VBScriptでソート書いてから良いなよ
結局口だけじゃん
431ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:01:04.75ID:jjK+y75q
ちなみにかわいいことだけが取り柄のピッコロはこの問題解けない
でもそれを素直に認めてるそこがまたかわいい

イキってできない君と素直にかわいいピッコロ
どっちが魅力的かは明らかだよね
2019/05/18(土) 01:27:12.18ID:lvC3F7mV
>>430
俺にはできる。

けど、無能なお前が礼も言わずにパクッといて「自分が初めて作った!」なんて書き込みを見たら俺らは非常に楽しくない。
だからお前には教えないに決まっている。

ピラフ、ピッコロ、蟻人間、いずれも乞食。
433ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:29:55.51ID:jjK+y75q
>>432
はいウソ
434ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:30:34.88ID:jjK+y75q
説得力が一ミリもない
2019/05/18(土) 01:31:33.87ID:lvC3F7mV
良く見たらこれマジで O(2n) でええやん
436ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:33:58.57ID:jjK+y75q
はよ
437ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:34:26.86ID:jjK+y75q
なにぐずぐずしてんねん!ピッコロ待ってんねんで!
2019/05/18(土) 01:35:57.02ID:lvC3F7mV
>>436
いやもうお前が作った方がいいと思うんだよね。
俺もう興味ないし。

頑張って午前3時ぐらいまでに完成させてね。
俺は飲みに行くから〜。
439ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:36:56.26ID:jjK+y75q
>>438
おう〜夜道気をつけて〜
2019/05/18(土) 01:36:58.98ID:lvC3F7mV
上から目線もマイナス一億てーーーーん!!!!
441ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:39:59.92ID:jjK+y75q
>>440
卑屈な人間やな気遣ってやってんのに
被害者意識持つ人間は自信のない未熟者らしいで
酒のんで気大きくしたがええ
442ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:41:11.28ID:jjK+y75q
このスレにはまだスレの最高戦力Rubyの人と蟻の人がいる
眠れる獅子を起こすことになりそうだな
443ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 01:44:05.41ID:jjK+y75q
おはよー!!!カンカンカン!!!起きて!!!朝だよ!!!!すごい朝!!!!
外が明るい!!カンカンカンカンカン!!!!!おはよ!!カンカンカン!!!
見て見て!!!!外明るいの!!!外!!!!見て!!カンカンカンカンカン!!
起きて!!早く起きて!!カンカン!
444デフォルトの名無しさん
垢版 |
2019/05/18(土) 09:12:29.45ID:UD/5quGU
ID:jjK+y75q
発狂してんじゃねえよ、自演野郎
445デフォルトの名無しさん
垢版 |
2019/05/18(土) 09:15:14.42ID:UD/5quGU
このキチガイはただの荒らしじゃねえか
やっぱりこのスレは残しておいちゃだめだよな



935 名前:デフォルトの名無しさん[sage] 投稿日:2019/05/17(金) 12:23:14.18 ID:99nnd/tf [1/3]
>>934
うるせぇ死ね

947 名前:デフォルトの名無しさん[sage] 投稿日:2019/05/17(金) 15:51:11.97 ID:99nnd/tf [2/3]
問題: おっぱいをなるべく小さくせよ。

964 名前:デフォルトの名無しさん[sage] 投稿日:2019/05/17(金) 20:48:13.95 ID:99nnd/tf [3/3]
顔射は普通に使う単語ですか?
446デフォルトの名無しさん
垢版 |
2019/05/18(土) 09:21:03.68ID:UD/5quGU
>>442
こんな時ばかり都合よく片山を仲間にしてんじゃねえよ
名無しの時はコケにしてるくせにな
ルビーおじさんだって誰に対しても評価できてしまう人間だからお前の味方ってわけでもないし
何を勘違いしてるんだ
447ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 11:33:07.37ID:jjK+y75q
O(2n)のコードまだー?
448デフォルトの名無しさん
垢版 |
2019/05/18(土) 11:37:40.87ID:Y71hWgig
>>447
自演乙
449デフォルトの名無しさん
垢版 |
2019/05/18(土) 22:11:46.33ID:XXYGI5ia
漏れは、ピッコロ大魔王も蟻さんも、尊敬してます!

VBS には、sort が無いの?
キツイ
450ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 23:14:47.99ID:jjK+y75q
>>449
ありがとうございます!!

VBSは標準ライブラリが貧弱だから
Sortはないけど自分で実装する楽しさがあるよ!
451デフォルトの名無しさん
垢版 |
2019/05/18(土) 23:22:19.40ID:VXDUdP7n
>>450
自演乙
452デフォルトの名無しさん
垢版 |
2019/05/18(土) 23:23:06.95ID:VXDUdP7n
>>450
何年たってもソートしかやってないんだよな
453ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 23:31:59.60ID:jjK+y75q
>>452
そう!しかもバブルソート!!
454ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/18(土) 23:35:55.41ID:jjK+y75q
父さんバブルソートで世界を手中に収めようと思うんだ
455デフォルトの名無しさん
垢版 |
2019/05/18(土) 23:41:40.77ID:enALMdUX
>>453-454
何が授業を始めますだってんだよ
2019/05/18(土) 23:55:10.42ID:lvC3F7mV
>>447
飲んでたから勘違いしたけどO(2n)は無いわ。
Oのカッコの中に定数が入ること自体が間違いだった。
そこを指摘すれば良かったのに。

あれは最悪でO(****)だな。

さて****は何でしょう?
2019/05/19(日) 00:00:45.12ID:1kdfr1Yk
たまに片山やピラフ(多分同一人物)のコードを見ると
「俺って最低最悪じゃなかったんだ」
という癒し効果があるから病んだプログラマーにマジオススメ。

ただし汚な過ぎて読めないというオチが付く。
458ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 00:07:19.14ID:iZGlVtrY
バブルソートの一本槍でどこまでいけるか試してみたい
そう口にするピッコロの眼差しは熱を帯びて筆者は思わず
手元にあったアイスコーヒーを飲んだ
とたんその冷たさに喉奥が刺激されさきほどまで感じていた
眠気は完全に吹き飛んだ

筆者が感じていたなんとも形容しがたい漠然としたけだるさは
活力を失っていたからだそのことには自分でも気づいていたが
どうしようもないものだと諦めてもいた

だがピッコロの熱い眼差しに射すくめられて自分に足りなかったものが
いまはっきりとわかった

――挑戦を諦めない不屈の心――

不撓(ふとう)という言葉がある
どのような困難にあっても屈しないこと
今風に言えばフィジカルが強いこと
諦めるという言葉そのものが自分を弱くしていたと気づいた

これがピッコロと対談して筆者が感じたすべてだ
バブルソートを口にするピッコロの眼差しは魔貫光殺砲だったのだ
筆者はそれに貫かれた
459デフォルトの名無しさん
垢版 |
2019/05/19(日) 00:16:41.47ID:8yhcYT/v
>>458
自演乙
2019/05/19(日) 01:09:41.33ID:OTlGjTy8
ピッコロ大魔王と蟻人間のソースコードは、全く違う

蟻さんは、C を書けるけど、大魔王はこれから学ぶのでしょ?
461ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 02:10:07.97ID:iZGlVtrY
>>456
O(2n)の実装があるならすごいと思ったし
それを知りたいと思ったから教えてもらうのが良いと思ったんだよね

どういうアルゴリズムかわかってないのにそれはダメと指摘するのはキチガイじゃん
ピッコロはキチガイじゃないから教えてもらおうと思ったの
462ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 02:10:26.36ID:iZGlVtrY
>>456
>>419の問題はソートがどうしようもないんだよね
ソートがあるから計算量の限界はn*log(n)になるかと

それはそれとして計算量はデータ量が増加したときに
計算資源の消費量がこういう比率で増加しますってものだから
あくまでもデータ量とセットで考えてこそ意味があるものだよ

一般的に計算量がよいアルゴリズムはデータ量が少ないときに時間がかかる傾向があって
たとえばクイックソートの平均計算量はn*log(n)で挿入ソートの計算量はn^2だけれども
件数が少ないときは挿入ソートの方が速い

各種標準ライブラリのソートでも要素数が少ないときは挿入ソートが使われてて
挿入ソートを使うときの閾値はライブラリによってまちまち

.NETは16以下
https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Collections/Generic/ArraySortHelper.cs

Javaは46以下
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/DualPivotQuicksort.java

FreeBSDは6以下
挿入ソートじゃなくてノームソートになってるけどまあ似たようなものだしまあいっかということで
https://github.com/freebsd/freebsd/blob/master/lib/libc/stdlib/qsort.c

Rubyはソースをきちんと追えなくて不確かだけれども
FreeBSDのqsortを使ってるっぽい気がする

今回の問題の要素数は6なので挿入ソートが最適かと
計算量はn^2で良い
463デフォルトの名無しさん
垢版 |
2019/05/19(日) 02:10:26.52ID:JyLc4k1U
>>461
自演乙
464デフォルトの名無しさん
垢版 |
2019/05/19(日) 02:10:42.73ID:JyLc4k1U
>>462
自演乙
465ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 02:17:25.50ID:iZGlVtrY
>>460
C教えてもらえますか?
466デフォルトの名無しさん
垢版 |
2019/05/19(日) 02:22:40.13ID:avdlhcME
>>465
自演乙
2019/05/19(日) 02:52:35.35ID:OTlGjTy8
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end

Ruby のsort_by は、[ブロック評価結果, データ]の配列をmap で作ってから、
ソートして、オリジナルデータのみを抜き出して、mapで配列にする

これは、シュウォーツ変換と言って、比較回数を減らす
468ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 03:29:05.77ID:iZGlVtrY
>>467
勉強になります!
もしよろしければそのソースコードどこで見れるのか教えて欲しいです
469デフォルトの名無しさん
垢版 |
2019/05/19(日) 03:34:25.36ID:z4pqjaPJ
>>468
自演乙
2019/05/19(日) 20:41:33.14ID:1kdfr1Yk
ウンコを美味しいカツ丼やカレーに変換するVBS下さい。

AHAHA!
2019/05/19(日) 20:52:53.81ID:1kdfr1Yk
>>462
ソートが O(log n) を超えられないってのは有名な話。
が、それ以降意味不明。馬鹿だろお前。

1,. ソートアルゴリズムは得手不得手がある
2. 乱雑な方が得意か、整然としている方が得意か、はある
3. 事前予測はかなり大事だが、一般論としては O(log n)

> 一般的に計算量がよいアルゴリズムはデータ量が少ないときに時間がかかる傾向があって
> たとえばクイックソートの平均計算量はn*log(n)で挿入ソートの計算量はn^2だけれども
> 件数が少ないときは挿入ソートの方が速い

ハァ????????
その「少ない」はお前の年間仕事量くらいのことを言うんだろ????????
今時のCPUなら苦にしないようなことを言ってるんだろ????????
472ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 21:09:34.94ID:iZGlVtrY
>>471
まあちょっと落ち着いていただいて

  ∧_∧
 (´・ω・) _。_ トポトポ
 / つ つc(__ア
 しーJ    旦〜
473ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/19(日) 23:30:24.80ID:iZGlVtrY
>>471
一般的なソートの計算量の限界はn log nだよ

計算量はデータ量が増えていったときに
この式の値は誤差みたいなものだから無視できるよね
っていうふうに考えて式を消してくもの
n*は省いたら値が全然違ってしまうので省けないの

計算量にはデータ量の増加を考えて消された定数項があって
計算量の良いアルゴリズムは往々にしてその隠れた定数項が大きくて
データ量が少ないときに計算効率が悪い傾向があるんよ
クイックソートもその一例

「少ない」件数は例に示したとおりで
ソートでは6〜46が閾値として有名どころのライブラリで使われてるよ

今回の問題に限ったことではなく
計算量の話をするときはデータ量も一緒に議論する必要があるんよ

たとえばお仕事で大量のデータを処理するから効率の良いロジックを
組んでくれと言われて計算量のよいアルゴリズムを実装したけれども
サーバーの処理が遅くレスポンスの遅延が常態化してしまった
調査してみたら要素数の少ないデータを大量に処理していて
計算量の悪いアルゴリズムを使ったら改善されたなんてことも起こり得るよ

計算量はデータ量とセットで考えるこれ大事
474ピッコロ ◆YAZTByPXwc6o
垢版 |
2019/05/20(月) 00:00:14.21ID:9bk38djr
>>419の問題をn log nで解きたいんだということなら
それはそれで意味のあることだと思うし大事な考えだから
ぜひよろしくお願いいたします

ピッコロ待ってます
2019/05/20(月) 05:11:58.02ID:poyp5Kqc
たいてい、n log n の形

ダイクストラ法は優先度キューを使っているから、O(|E| log |V|)。
|V| は頂点(vertex, node)の数、|E| は辺(edge)の数

負の辺がある場合は、ベルマンフォード法となり、O(|V| |E|)。
単に、掛け算・2重ループ

log n より速いのは、Union-Find ぐらい。
グループ分け・ラベリング

O(α(n))
α(n) は、アッカーマン関数の逆関数
476467
垢版 |
2019/05/20(月) 05:50:25.75ID:poyp5Kqc
>>467
は「改訂2版 Ruby逆引きハンドブック」のEnumerable#sort, sort_by の所に書いてある。
Array とは少し違うけど

module Enumerable
def sort_by
map {|i| [yield(i), i] }.
sort.
map! {|i| i[1]}
end
end

C のソースコードは見つかるけど、Ruby のソースコードはどこにあるか、漏れにも分からない

GitHub - ruby/ruby: The Ruby Programming Language [mirror]
https://github.com/ruby/ruby
2019/05/20(月) 22:54:47.67ID:IC21ORbH
VBSってどこがヴィジュアルなの?
478デフォルトの名無しさん
垢版 |
2019/05/21(火) 23:38:38.38ID:pDd0WZ2N
>>472-474
自演乙
レスを投稿する