
[ 1 ]
数のリストを昇順に並べ替えることを考えます
1. 隣り合う数を比較し、左の数の方が大きければ、この2つの位置を入れ替える
2. (1)をリストの左端から順番に行う
3. 以上をリストが昇順に整列するまで繰り返す
以上のアルゴリズムを好きな言語で実装して下さい
プログラミング経験がなければ、疑似コードやフローチャートで書いても、カードやホワイトボードで実演していただいてもかまいません
→正答率 9/29
(3)でリストが昇順になっていることを確かめる方法、またはこのアルゴリズムでリストが昇順になる理由を説明して下さい
→正答率 4/29
これプログラミングとかいう以前の問題
雇うなよ……
1. 隣り合う数を比較し、左の数の方が大きければ、この2つの位置を入れ替える
2. (1)をリストの左端から順番に行う
3. 以上をリストが昇順に整列するまで繰り返す
以上のアルゴリズムを好きな言語で実装して下さい
プログラミング経験がなければ、疑似コードやフローチャートで書いても、カードやホワイトボードで実演していただいてもかまいません
→正答率 9/29
(3)でリストが昇順になっていることを確かめる方法、またはこのアルゴリズムでリストが昇順になる理由を説明して下さい
→正答率 4/29
これプログラミングとかいう以前の問題
雇うなよ……
[ 2 ]
覚えても忘れるんだよなあ
[ 3 ]
基本情報でもこういうのが出たら最悪レベル
[ 4 ]
クイックソートで充分
[ 61 ]
>>4
今はヒープソートとの複合だから
今はヒープソートとの複合だから
[ 5 ]
アルゴリズム覚えたとこで
今は糞の役にも立たない
今は糞の役にも立たない
[ 6 ]
バリアブルソード
[ 7 ]
アルゴリズムとデータ構造
[ 8 ]
じゃあ自作言語でやりまーす
return BubbleSort(a);
return BubbleSort(a);
[ 9 ]
ITってよりCSの世界
[ 10 ]
それ覚える必要あるの?
[ 11 ]
忘れちゃった
[ 12 ]
クイックソート
[ 13 ]
内容は理解してるけど説明しろって言われたら微妙
[ 14 ]
めんどくせーな
List.Where(x=>x.ソート物).OrderBy().ToList();でいいやん
Cとかその編だったら都度ググってコピペでOK
List.Where(x=>x.ソート物).OrderBy().ToList();でいいやん
Cとかその編だったら都度ググってコピペでOK
[ 15 ]
リストの左端ってなんだよ
配列に左右の概念なんてねーよ
配列に左右の概念なんてねーよ
[ 22 ]
>>15
まず、リストか配列かはっきりしろ
どちらにせよ要素には序列がある
まず、リストか配列かはっきりしろ
どちらにせよ要素には序列がある
[ 16 ]
説明は簡単だろ
高校数学レベル
高校数学レベル
[ 17 ]
書いてる考え方そのままプログラミング言語で文章にするだけじゃないの
文章を数式で書けみたいな感じ
文章を数式で書けみたいな感じ
[ 19 ]
>>17
そんなの通用するのHTMLくらいしかないぞ
そんなの通用するのHTMLくらいしかないぞ
[ 20 ]
ぼくはボゴソートちゃん!
[ 23 ]
うそだろ・・・
さすがに理解できないとまずいレベルだぞ
未経験者を入れた結果がこれ
さすがに理解できないとまずいレベルだぞ
未経験者を入れた結果がこれ
[ 24 ]
日本語を読んでカードで実演すらできないって相当ヤバイだろ
[ 26 ]
こういうスレって職場だとクソの役にも立たない技術者笑が基礎知識ひけらかしにくるよなw
[ 27 ]
正直現場レベルでいったら自作ソートって信用されないから
バブルソート作りました、先頭からループして内部で終端からループしてソートしてますって
説明されたら、普通にソート使えよって突っ込まれるだけじゃないか?
バブルソート作りました、先頭からループして内部で終端からループしてソートしてますって
説明されたら、普通にソート使えよって突っ込まれるだけじゃないか?
[ 31 ]
>>27
自作ソート組んでも保守性に難があるからな
ただし動作する仕組みを理解しておくのは大事
自作ソート組んでも保守性に難があるからな
ただし動作する仕組みを理解しておくのは大事
[ 28 ]
学生とかの方が解けるんじゃないか?
もう忘れたわ
もう忘れたわ
[ 32 ]
>>28
お前より学生雇ったほうが良いな
お前より学生雇ったほうが良いな
[ 36 ]
>>32
新規雇用ならまあそうだろ
ただ解けなかった技術者も学生時代は覚えてたと思うぞ、試験以外で使うことないから忘れるだけで、今覚えてる学生もいずれそうなる
新規雇用ならまあそうだろ
ただ解けなかった技術者も学生時代は覚えてたと思うぞ、試験以外で使うことないから忘れるだけで、今覚えてる学生もいずれそうなる
[ 38 ]
>>36
これ、知識問題じゃないぞ
これ、知識問題じゃないぞ
[ 39 ]
>>36
これ暗記問題じゃないけど……
これ暗記問題じゃないけど……
[ 46 ]
>>36
あの、これ仕様書通りにプログラム組んでテストコード書けば良いだけでは
あの、これ仕様書通りにプログラム組んでテストコード書けば良いだけでは
[ 52 ]
>>46
やり方は書いてあるが証明部分で確信がなければ問題数や制限時間によっては後回しか捨てるだろ
やり方は書いてあるが証明部分で確信がなければ問題数や制限時間によっては後回しか捨てるだろ
[ 55 ]
>>52
いや証明しなくても確かめるだけでいいんだろ?
全部の数字について、それよりより右の数すべてと比べてみりゃいいじゃん
いや証明しなくても確かめるだけでいいんだろ?
全部の数字について、それよりより右の数すべてと比べてみりゃいいじゃん
[ 29 ]
ちゃんとやったんだけどな
忘れたわ
忘れたわ
[ 30 ]
これを知識問題だと思ってしまうのは確実に思考力足りてないと思う
コメント
コメント一覧 (27)
仕組みをまったく知らなくても事足りてしまうのか。
それに使う場面に直面したら、基本みんなできる。需要が少ないから、みんなパッとは思い付かないだけ。
もう簡単にしてしまったところをわざわざ蒸し返す必要はない。次行け、次。
関数作っただけだろ
その関数の中身を説明しろて
それに使う場面に直面したら、基本みんなできる。需要が少ないから、みんなパッとは思い付かないだけ。
もう簡単にしてしまったところをわざわざ蒸し返す必要はない。次行け、次。
長さの違う文字列の比較、ソートに使用する文字コード、全角半角の扱い、漢字のソート順、etc...
バブルソートが使えるかどうかなんてどうでもよくて、ソートのレベル1の知識も持ち合わせてないのが信用を失うきっかけになる。
信用無くすとチェックが厳しくなって悪い結果になる
計算量の概念がないと爆弾を仕込むことになる気はする。
忘れる
int i,j,tmp;
for(i=0;i<=9;i++){
for(j=i;j<=9;j++){
if(array[j]>array[j+1]{
tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
}
説明?日本語よりプログラミング言語で表した方が分かりやすいよ。
動作を丁寧に説明されてるのをプログラムに直せないのが問題。
こいつら、バブルソートじゃなくてもプログラム組めないぞ。
それを実行できる命令を覚えてればいい。
自分が何を作るのかによって覚える必要があるレベルは変わる。
本に1ページも使って書かれている程の内容量じゃないぞ
というか必要ないとか言ってるようなプログラムに興味がない人がそもそもプログラムを書く必要がないよねw
大小比べて昇順に並べ直してんだから、理由とかないだろ
赤く塗ったら赤くなる理由をこたえてください、みたいな変な質問
基礎のアルゴリズムなんて
いちいち気にする必要もないレベルで
使われて表に見えないだけや
今や「用意されたクラスと関数群でなるべく組む」ことを求められるくらいだし、ソートなんて大半の言語で用意があるし、何より多人数の頭良い人に最適化されたコードより高速なソートを組める人って早々いないし
処理自体にニッチな改造をしたいとか、言語自体を作ってるとか、そういうことなら別だけど。そのときは皆で考えりゃ良いし、バブルソートを暗記してる意義は感じないかな。もちろん仕組みやデザインパターンを理解しておくことで良いコードを書く一助になるし、仕組みは理解しておくべきとは思うがw
凸包を求めたり最短経路を求めたり、他にいくらでも入門レベルのアルゴリズムがあるだろうに