「バブルソート」を含む日記 RSS

はてなキーワード: バブルソートとは

2020-01-14

ソート関数説明は大体した。

バブルソートバケツソートであってもN=1,Bigの時には異なる数値を出すことがある。

ましていわんやその他のソート

当然何でこれだけの数のソートアルゴリズムがあるか?といえば条件に応じて変えるため

あるいみ、バケツソートで書かれていましたN=Bigでないとして

相手プロプログラマー

そりゃ、標準ライブラリにあるようなソートには変えてくることは予想ができる。

しかし、デバッグ時にはバケツソートになっていることもある。簡単だしデータ少なく入れるから

これもバケツソートの使い方。いわゆる単体テストじゃないけど、テスト中はバグが出にくいものにかえてあることがある。

 

これは現場で知っておくべきこと。標準的ライブラリにあるものがわざわざコードが書いてある。

そりゃなんかのいみがある。

2020-01-12

A=1,1,1,2

B=1,2,3,4

とき

データ比較

データの交換10

メモリの取得1枠あたりX

としたとき

4,3,2,1など大きいほうから小さいほうへ並べ替え場合

バブルソートバケツソート

の速度を求めよ

2020-01-11

anond:20200111181850

バブルソートを例にしたけど

N=1が特殊解というのは、例を選んでいるから、ちょっとしたことにも感じられるし

初心者にもわかるように、題材を選んでいるけど

プロにとってはとても大切なことでもある。

そういうのにちかいちょっとしたこと、と、ふつうちょっとしたこと混同するとえらいことになるのがIT業界

anond:20200111001422

さて、たくさんのものを書き留めておくのは、正直、人間いつ死ぬかもしれないから死んだ跡のことを考えてというのが半分

事情つーかひまつぶしつーかが

 

バブルソートがN=1のとき特殊解となるというのは説明したが、ほかに典型的なのは今度は逆に100万件=メガオーダをこえて

数百億件を越えてテラオーダーを越え始めると、メインメモリからデータが落ちて、SSDへのアクセスバーストする。

こうなると、すべてのデータをメインメモリキャッシュできるもしくはシーケンシャルにキャッシュで切るケースと比べてSSDからの読み込みまち

有意義に増加するためNが最適な大きさであるときと比べて、速度劣化が顕著になる。これにより情報数学におけるオーダ関数が使えなくなる。

オーダ関数あくま件数によらず検索速度一定であるという前提であるため、件数が増加するとそもそも1件あたりの検索速度が大幅に変更されることは想定外からである

バブルソートのNが1の場合特殊回答となるのは

計算時間がN~2の単純解というのは2LogN+2Nよりも高速になりえるという驚愕理屈だけではなく

for(int i=0;kess(i,N-1);i++)が

for(int i=0;less(i,1-1);i++)となるために

実質初回が偽 i<0 0<0となるため1度も成立しない、となり

コンパイラ最適化されるため、そもそもforループが0バイトアセンブリコードになるという驚愕理屈による

当然0バイトなのだからなこれほど高速なコードはない 実行時間が真に0

2020-01-10

たぶん、

バブルソートのほうがクイックソートよりも高速な場合がある(たとえばN=1)なんていうと

()はいわないとすると

よほど初心者か、うそつきがいるとして、下手すると病院に入れられてしまうんだろうな。こわいよな。(※実際には病院に入れられるとかではなくても表現がわからないため)

2020-01-09

ライバルを助ける必要はないという話と

業界の話はある。

しかも、いまの高等教育がどうなってるかは知らん。だから増田

 

物理学を教えるとき

ただし空気抵抗無視するというのは重要

大学などに入ったら空気抵抗というものを加味するんだよって教えておく

同じようにITにもいても

バブルソートの速度はO(N^2) POW(N,2)とする。ただし、Nは適度に大きいものとする

という但し書きは重要というかN=1の場合は1である。というのは考えればわかるんだけど、いちおういっておかないと

間違える人が出るというのは、バブルソートではないとき重要な考え方だから

初期に教えておく。

現場ではやるんだけどね。

 

適度に大きいというのはN=1だけではなく、いまはやりのビックデーターなどのようにNが極端に大きい場合理屈が異なる

という事を示すために、適度に大きいとすることが重要

2019-12-27

バブルソートソートを書いていると

クイックソートにかえたいという人(例)

は昔から苦しめられた

2019-12-10

[]2019年12月9日月曜日増田

時間記事文字数文字数平均文字数中央値
00477256154.463
0150497799.556.5
02293577123.346
031485160.852.5
04213197152.265
0523229299.753
0632228871.540
0732288190.056
0886711482.748
09788785112.655.5
1096674670.346
111171008286.240
12152990865.237.5
13819487117.145
1490570363.435
1579574472.730
1683540165.131
171261074285.335.5
181701034460.835.5
199711194115.441
2081720388.936
2110037819378.248
22648896139.053.5
2310715601145.840
1日1855198088106.841

本日の急増単語 ()内の数字単語が含まれ記事

アバン(5), バブルソート(6), APA(4), ピジョン(4), ブギー(4), 学生証(7), STORY(5), nn(13), 整備士(4), 圭(4), 宮下(3), グレタ(28), HDD(10), PR(9), 頭痛(11), 表現の自由戦士(12), ステーキ(8), 挟ん(7), クリスマス(7), 歌い(6), 嘘つき(9), 個人情報(12), ステマ(11), 求人(7), ストーカー(8), 笑わ(8), n(14), らし(6), 眼鏡(6), ハゲ(18), 漫画家(12), ミス(12), ラノベ(10), 少女(10), ジャンプ(10), 機械(10), 読者(10), 奥さん(12)

頻出トラックバック先 ()内の数字は被トラックバック件数

学生証を持ち歩けない /20191209093153(11), ■いい歳してゲーセン、恥ずかしくない? /20191208144037(10), ■魚の焼き方がわからなすぎるんだけど /20191209190037(9), ■WEB漫画家にはステマ意識はなかったはず /20191208014834(9), ■実写のアニメ化 /20191208144453(8), ■当方配達業のアラフォーおっさん /20191208163428(8), ■彼氏大事にされないのが嫌だ(追記しました) /20191208094452(8), ■「その二次創作、この作品でやる必要無くない?」ってのはな /20191209131149(6), ■イワシ刺身の旨さは異常 /20191209134207(6), ■「営業中」の看板を探してます /20191209143021(6), ■煽り耐性の付け方 /20191209144256(6), ■自分歩行者だと思い込んでいる自転車 /20191209153449(6), ■ /20191209170427(6), ■ゼロからプログラミングを覚えるには /20191209204419(5), ■お酒を飲んだらパリピになれると思ってた /20191209175633(5), ■anond20191209180602 /20191209180729(5), (タイトル不明) /20191209151251(5), ■ケニア人が入社たから役立ちそうなこと教えて /20191208144252(5), ■ゆる募:陸海空軍兵器戦争が主テーマではない漫画アニメ小説 /20191209170111(5), ■消費税上がったけど、正直言ってほとんど変わって無くない? /20191209065500(5), ■ /20191209082912(5), ■メンタルの鍛え方 /20191209011753(5), ■anond20191209121420 /20191209123638(5), ■私は奥さん正社員になって欲しい /20191208234104(5)

増田合計ブックマーク数 ()内の数字は1日の増減

6848117(1166)

2019-12-09

anond:20191209123632

バブルソートコピペして増殖させるのにも意味がある、勉強になる」って主張始めるとは思わなかった

今すぐエンジニアやめてくれ

anond:20191209121529

それは自分ではバブルソートを教える理由を1つも思いつけなかったという意味に受け取っていいか

anond:20191209120908

ふと思ったんだけど、

ライブラリ関数呼び出しのクイックソート

こぴぺのバブルソートどっちがアルゴリズム勉強になるかといわれると

後者だなぁとふと思って

ライブラリ呼び出すだけならなんでもいいとおもった いま

anond:20191209115411

古い処理を書き換えろとまでは思わないが

コピペバブルソートが増殖していく状態なら止めたくなるな

きをきかせろ

あたらしくやってきた管理職

ながねんバブルソートでべたに書かれている処理が気に入らないらしく

職場リフレッシュルームなどで

『クイックなソートいかなー、ネットで調べたらすぐでてこないかなー』

とか若いエンジニアがいるとき

独り言つぶやく事案(10年前からよくおきる)

2019-12-03

anond:20191203090606

バブルソートのコツを教えてやろう

そこであと100万使うと500万ですね。きりがいいよね。

これがバブルソートだ。30%予算を多めにとっておけ。

anond:20191203081720

ネットでぽっちで予約できるんだけどよ

JTBにいって、いきたい場所を言っても予約できるんだぜ。

からないけど、都内の高級ホテルディナー付きとかも、ネットで予約できるなら、店舗でも予約できるんだぜ。

店舗で人に予約させる、店員にぽっちさせるってのがバブルソートだ。無駄が多いんだよ。

自分ネットでぽっちするってのがクイックソートだはやいんだよ。

JTBに行くときは 予算を30% おおくもって

100%予算はこれだけ、あと30%だせる。よきに計らえ。これがコツ。

こまけーことはいいんだよ。バブルにもんくいってもな。しょせんバブルソート

技術職だからバブルソートがなぜだめなのか?を言える

からこういう場合にはバブルソートの方がいいという例外も言える。

たとえば簡単教育目的なら、バブルソートで十分。バブルいいよね。キャバクラ!とかジュリアナとか、行きはしなかっただろうけど

行ってみたかった。

2018-09-16

職業訓練IT系)に半年通った感想

(※半年といっても7月後半〜8月まで夏休みでした)

私は20代半ば手前の者です。

昨年仕事第一次産業)を辞めてしまい、学歴スキルもないのに何やってんだろ...と引きこもりかけたところ、

ハローワークで長期の職業訓練を見つけたので応募してみました。

それは専門学校委託される2年間の訓練でした。その間失業保険支給は、期限が過ぎても延長してもらえます

要するに入学料・授業料タダ、お金をもらいながら勉強でき、専門卒になれるチャンスというわけです。

(本当に有難い制度です。就職したら、きちん税金を納めて世の中にお返しするつもりです)

どうやら希望者は少なかったようで、筆記(中学レベル知識大丈夫でした)と面接はすんなり通りました。

受講するコースIT系を選びました。

(他には、介護系・看護系のコースがありました)

訓練の様子

専門学生に混じって授業を受けます

同じ訓練生は1割程度です。(30~40代の方が2人おられます

ほとんどは地元高校卒業したばかりの18才の子たちです。

ワイワイやる人が3割、静かな人が7割ぐらい? といった印象です。

男子100%ですが、ホームルームだけは女子100%のコースと一緒にやります

悪い人はいない感じで、授業が荒れて成り立たないとか、そういうのはなくてよかったです。

ただ、バイトが忙しいのか授業中イビキかいて寝ちゃう人や、全然授業について行けなくて辞めちゃうはいます

この辺の雰囲気大学1〜2年と似たような感じですかね。

授業内容とか

Office(前期のみ)

word,excel,powerpointを一通りやりました。PC操作に慣れていない人も多いので、

手取り足取りゆっくりやる感じでした。自分仕事で使ったことがあったので、課題を早く終わらせて

自学をしたり、隣の子に教えてあげたりしました。

C言語

terapadコマンドプロンプトを使っての授業です。(コンパイラborlandです)

SE先生(本人曰くCOBOLer)の説明聞いてから課題をこなしていく感じです。

入学前に、RubyやらJava参考書を一周してみたり、ドットインストールC言語動画を見たりしていたので、

授業にはついていけています

ただ授業だけだと完全に足りなさそうなので自学を頑張ってます

基本情報技術者試験対策

分野ごとに授業があります教科書を読んで先生が板書・たまに問題集プリントを生徒にやらせるといったスタイルです。

ただ試験対策なので、問題演習を重視した方が良いと思いました。

授業を聴きながら(たまに当てられるので)、ひたすら過去問をやっています

ちなみに学校は12月の修了試験合格すると本試験の午前問題免除)→来年4月の本試験 を前提にカリキュラムを組んでいますが、

私は年も食っているし、合格就職活動に間に合わないので、来月受験します。

就職指導先生応用情報技術者も取っておけ、と言われましたが、必要ですかね...?

勿論取らないに越したことはありませんが、Railsチュートリアルとか他の技術書時間をさいたほうがいいかな、と思いました。

アルゴリズム(前期のみ)

フローチャートや疑似言語を使って、バブルソート基本選択法など初歩的なアルゴリズム勉強です。

実際のプログラムコードの方がわかりやすい気がしますが、基本情報技術者試験対策なので仕方ないですね。

今も現場ではフローチャートや疑似言語は使われているのですかね?

そんなの古い現場しか使ってないよ、という意見はよく聞きますが...

HTML/CSS

先生意向でなぜかメモ帳推奨。(他のエディタを使っていたら嫌な顔をされた)

素人がいうのも何ですけど、ミス気づきにくいし、使いづらくないですかね...

案の定何でもないところでハマる人がいて、授業はよく止まってしまます

ブラウザ開発者ツールの使い方を隣の子に教えてあげたら、喜んで使ってくれていましたが、

やっぱり変なもん教えるなという目を先生から向けられちゃいました...

データベース実習(後期〜)

Accessを使った授業です。テキスト通りにやっていきます

Accessは初めて使いましたが、Mysqlをちょこっと触ったことがあるので、要領はなんとなく掴めました。

これも授業は遅いので、先に教科書の内容は家で一通りやってしまいました。

今はVBAの本をやっています

就職指導

ビジネスマナーや、ちょっとしたゲーム、話し合いなど。

グループワークとかやめてください死んでしまます、と思ったけど、意外と楽しめました。

ただ、喋らない人たちしか居ないグループだと、何を話しかけても反応が薄かったので、ちょっと辛かったです。

訓練(学校)の不満なところ

(勿論、アンケート等で学校側に伝えています

・授業で使うPCはメモリ4GBでもうちょっと欲しいなあと思いました。

エディタAtomUSBに入れて使っていましたが、カクカクでよくフリーズしました...

(VSCode大丈夫でした。)

モニタも19インチ正方形で、ウィンドウをたくさん出したい時は不便ですね。

どんな職場に行ってもどんな環境でも何とかやれ、という訓練ということなんでしょうかね。

そんな感じです。

1年生後半にRubyの基礎、インターンシップ強制)、就職活動の開始

2年生からは、Java,Rails,サーバ構築, データベース構築あたりの授業、という流れで進んでいきます

来年卒業します。

年齢が20後半になるので、周りの若い人たちと何かしら差をつけないといけないので大変ですが、

地元企業SE(Web系を希望しています)で採ってもらえるよう頑張ります

アドバイスがありましたら、いただけると嬉しいです。

追記

拙い感想文にいろいろと反応いただきありがとうございます

>>学費取れないぶん設備が劣るのは仕方ない気もするが

もっともです。私は皆様の雇用保険から学校に通わさせていただいているので、文句言う立場じゃないですね...

ただ、年100万近く払っている一般生徒の方は、不満に思っているかもしれませんね。

>>田舎で数年間無職してるけどIT系就職訓練無くて最悪 羨ましい 田舎ゴミ 

そうですか... 私の住んでいるところも地方都市ではない田舎なのですが、

近隣にIT企業進出してきていることもあってか、今年からIT系が訓練の対象となりました。

都市部ではない地域も、もっとIT系の訓練が拡充されると良いですね。

>>otihateten3510 基本情報さえ取ればどっかに潜り込めるだろうから、そこで3年くらい真面目にやれば結構いけるとおもう。

>>コード書けると良い。/授業はまあそんなもんだよね。現役の人に聞いたほうが正しい。/東京のほうがイージー

ちょっと精神的に病んで前の仕事をやめてしまったので、家族サポートを得て、地元就職しようという情けない有様でございます

なんとかしてこちらの企業に潜り込みたいと思います

仕事事情は、やはり現役の方に聞くのが一番ですね。企業訪問インターンで色々聞いて見ようと思います

2016-02-02

初等教育プログラミング意味があるのか?

あれは小学校に入る1年前のこと。

「たのしABC

という教材を母が持ってきた。

新聞広告あたりで買ったのだろうか。

会話編と単語編があって、母は会話編を熱心に覚えさせようとしたが、僕は単語しか興味を示さなかった。

しかも、読み方に興味を示さなかった。

文字列の並びに意味があること、つまりD,O,Gいう文字列が犬を表すこと、それには少し興味がもてた。

記号として、24文字があることには興味がもてて、大文字限定だが、アルファベットの読み方はマスターした。

そんなころ、MSXというゲーム機を親戚にもらった。

当時としては時代遅れの機種だったと思う。

ファミコンよりもっとレベルゲームROMも二本もらった。

紫色の表紙のMSXBASICの教本がついてきて、なぜかその本を読みはじめた。

あの頃のBASICはなぜか大文字で書くのがお作法だった。

さっき説明したように大文字だけは読めたので、小1か小2だったと思うが、読み進めることが出来た。

画面に線を引くとか、点を打つとか、文字を表示させるとか、その程度しか出来なかったが、ゲームをしてるようだった。

母親ゲームをしてると思ったのだと思う。

自分でも読めたが、読み聞かせをせがむ甘えん坊だったので、たまに母に読んでもらうと、母は自分がいつも

「アイエヌピーユーティー」と呼ぶ「INPUT」という文字列

インプット」と呼び、その度に「インプットってなに?アイエヌピーユーティーのこと?」

と間違いを訂正させた。

母親は僕がなんでこんな本を読み聞かせをせがむのか理解できなかったそうだ。

小2くらいだと、IF関数ループ理解できなくて、母に何度も質問した。

母もわからなくて困ったそうな。

私は座って聞くタイプではなく、自分は他の遊びをしながら母に朗読させるという非常に図々しい読み聞かせ要求する子供だった。

ただでさえ小2には難しく、自分で読むときギリギリ理解できても、他の遊びをしながらだと、時々理解がぶっ飛んだ。

その瞬間によく転んだ。

よく母も付き合ってくれたものだ。

小3くらいだったか、巻末の50行くらいのブロックくずしのプログラム入力した。

毎日コツコツと打ち込んで、データレコーダーに保存すること数日。

実行してはエラー

画面のプログラムと本を舐めるように見比べて、間違いを探しの繰り返し。

始めて動いた時は感動した。

時機の移動、当たり判定、読み解くのは楽しかったな。

母や父に自慢したが、反応はイマイチだった。

プログラム経験はそれっきり途絶えた。

小3だったら読み解くくらいは出来るようになったが、それが精一杯で、自分で作ったりは出来のが大きいかな。

同じプログラムを書いてはパラメーターを変えてみることの繰り返しをしたが、すぐ飽きた。

その頃、パソコンというものロータス123があるといろいろ便利という噂を聞いて、パソコン雑誌1冊が我が家にきた。

あの頃のパソコン雑誌というものは、投稿プログラムのコーナーが紙面の1/3を占めていて、ロータス123とそれを使える機種以外興味がなかった両親はほとんど開かなかった。

我が家に新しくやってきたPC8801だか9801に僕が一本指タイプ写経する教材となり一か月に1つくらい写経した。

両親はロータス123を使いこなすことができず、(というよりMSDOSでつまづいたと言ってた気がする)

何十万もする高価な箱を自分占有する形になったが、ゲームが買い与えられたわけでもなく、BASICだけだったらMSXでこと足りたので、楽しいマシンという記憶はない。

そんなこんなののち、1年くらいでBASICの熱は冷めた。

パソコン自分から触れる機会はその後の人生ほとんどなかった。

理由スーパーファミコンが買い与えられたからだ。

自分写経したゲームより、ずっと楽しかった。

卒論や、就職してから業務WordパワポExcelの簡単な使い方を覚えたが、

それから20年と少々経って今に至る。

ひょんなことでExcelでIF関数に再開し、懐かしさからいろいろとExcel関数を使い倒してみた。

ついでにと、本屋Excelマクロ作例集というものを買ってきて、家で読んでる。

家にパソコンがあれば昔のように写経するのだが、コード解説を読んで脳内で動きを想像して楽しむことしか出来ない。

この程度なら自分でもすぐ書けそうという反面、仕事に役立てそうなことはあまりない。

あの頃多用したバブルソートを使ってみることはできたが、Excelの標準機能で並び替えを使ったほうが早いわけで。

初等教育プログラミング意味があるのだろうか?

僕の場合、数十年後にExcelマクロをすんなり読めるようになれた、ただそれだけだった。

2015-03-16

バブルソートってわかりやすいだけがとりえなのに

再帰にするとわかりにくいったらないな。

いや配列で扱うならまだいいが関数型言語リストでやってみるとそれはひどいことになる。配列の値をちまちま変えながらやるのが最適な方法なのでそれが遅いわけだが、関数語型言語デフォであるimmutableなオブジェクトでやろうとするとごにょごにょしすぎてわかりやすさがどこかへいってしまうしmutableなオブジェクトと代入を使うとそれはそれで関数型言語的にキモくなる。そもそもソート全般副作用っぽいので相性悪いのだろう。探索みたいな読み込みだけなら問題ないはず。haskellが注目されたときあのクイックソートが有名になったわけだがバブルソートの複雑化が注目されるわけがない。

なぜバブルソートか?

バブルソート教育用であり実践じゃ使わない、で切り捨てる人もいるがあまりにも人間味がなさすぎる。アルゴリズムハローワールド地位でもって扱うべき。しか関数型言語からいい声は聞こえないだろう。

2014-06-14

http://anond.hatelabo.jp/20140613190433

プログラミング言語はあくまで言語から英語に得意不得意があるように適正はあるよ。

単なるコミュニケーションの一種、特に命令に特化した言語だと考えると、ランダムな数列を並び替えろ、をひとつひとつ分解して日本語でかければそれを機械語翻訳するだけだ。

バブルソートだったらこんな感じの日本語になる。


  1. から2つずつ要素を比較しろ
  2. 右が大きかったら位置を交換しろ
  3. 1, 2 を繰り返せ
  4. 位置交換がなくなったら繰り返しを終われ


これを機械語に訳すんだ。

和英翻訳と違うのは上のような手続きを自分で分解しなきゃいかんことで、このへんでつまづくことも多いんじゃないかな。



例え適正がないと感じても、芸術家以外の仕事をする場合には、何をどうしたい、何がどういう状況だ、ということを伝えることは大事だよ。

機械語翻訳はできなくても、おおまかにどうしたいのか、どうすればいいのか、を考える力は養っておいたほうがいい。と、老婆心を出してみる。

2014-06-13

http://anond.hatelabo.jp/20140613234531

釣りじゃないの?

ちょろっと調べればいくらでも解説やソースが転がってるようなレベルの問題だし…

バブルソートリンクを辿ったら、はてなキーワードソースが載ってるという)

授業用のテキストとして必須になってそうなものだけど

ログイン ユーザー登録
ようこそ ゲスト さん