「ヒープソート」を含む日記 RSS

はてなキーワード: ヒープソートとは

2022-12-23

プログラミング、思ってたんと違う。

なんか、楽する為のツールのはずが。

二分探索を組みましょうとか、マージソートヒープソートとか。ややこしい。原理は、分からんでもないけど。

いざ、自分で組むとなると覚えてないとダメなんでしょ?

ヤフー知恵袋で、階乗問題を稀に良く見かけていたが、あれは再帰勉強させたいという意図があったんだと、やっと気がついた。

エクセルショートカット時短とか、マークダウン記法HTMLがかけるとかとは、雲泥の差。

ググって、先人の知恵を利用しようにも、ちょっとー大変じゃーん。

(例えば、文系的なその文系の中でも、厳密な思考必要とする法学的な論理的思考とは別物だろうなぁ。)

2020-08-24

まさにアルゴリズムの基本 ソートで言うと

メモリを使わないようにする バケツソートなどのアルゴリズムにたいして

ヒープソートなどヒープを使う

クイックソートなどようにツリーを使うなどメモリを使うと高速化される。

一般論として、メモリーをたくさん使えば、高速化される。

他方当然ではあるが、メモリーは有限のリソースであるからメモリーを、ある一定以下におさえつつ、高速なロジックという考え方がある。

そのため、アルゴリズムを考えた場合

メモリ省力化優先アルゴリズム

速度優先アルゴリズム

という2つの考え方が生まれる。メモリはどんどん消費しても良いから高速に完了すれば良いという考え方と、ある一定以内にメモリ消費を抑え、速度の高速化を目指すというものであるメモリを追加で消費しないことという制限条件が付くと、バケツソートもなかなか、すぐれたアルゴリズムである

これを、あたまにいれないといけない。

アルゴリズムというものは、どういう条件下の場合、最速という考え方があり

さまざまな条件、それこそCであるアンドロイドであるサーバマシンであるなどにより、違ってくるので、機材に合わせて、調整するという仕事必要になってくる。

パラメータだけで調整できる場合SE プログラムまで変更になる場合SEプロログラマが作業に当たる

2020-06-29

anond:20200629091245

ものすごい単純に言えば マージソートで作ろうとしているにヒープソートで書くなみたいなはなしで それなら そ~と頼むってお願いする

バケツソートでもいい

だれかを手伝うことがどれだけ大変か その都市で知らないと成ると よほど 接待されてきた お金持ち様

しょうがない その人が手伝ったことを中心に 組み換えなおしゃ そりゃ 楽だろう

2020-01-09

半導体を使った主記憶装置のうち、CPUからの直接的な一時アクセスの変わりに高速化されたもので、CPU外部にあることが多いものメモリーと呼ぶ場合

ヒープソートメモリー上の、スタック領域ではない、管理領域これをヒープと呼ぶにおくソートとした場合

ヒープからメモリーを確保して、ソートを行う方式ヒープソートと呼ぶことになるが

 

これ説明していくとながくなるので、ヒープソートって書いていい?

 

ところで、ヒープソートって英語日本語

2019-12-24

anond:20191224182554

プログラム話題で言うと

なぜクイックソートではだめなのか論

というのは、学校の話で言うなら、ただし空気抵抗無視するみたいなはなしで

できねーだろ陸上競技では見たいな話に近い。

つか、でなければマージソートヒープソートないだろ

というかそこに正解はない、というのも含めて

OJTゆっくり対話をしていく。

そのけーすでのこたえをいえばいいというものか?しごと

2019-12-08

ヒープソートで書いてあるアルゴリズム

教えてくれといわれる。

大学いったらとはいえないし。

本屋で本をという時代でもないし

しろどうしてしらないのに・・・とはおもうが

しょうがないんだろうな工学系の大学ではない大学卒らしいし

それこそOJTで10年かけていろいろ基礎から後輩を教えるできなかない。

どうみても、こんなの数ヶ月の研修オールオッケーっておもってるだろうな。2次方程式程度

まぁヒープソートだけなら あたまがいたい。

クイックソートライブラリよびじゃなかったのが敗因だろう

2019-11-04

マージソートで書いておいたら

ここはヒープソートの方が高速でした!

って書き換えられて

いや、マージソート別なところで使うから試験目的もあって先行的に書いてあるんだけど

などなど

ソースコードは複雑だから関数単位なら中身かえていいという事もない場合もある。

からいろいろおしえてやらないといけない共同作業のやり方

それは会社ごとに違う、すこしづつすこしづ新人をチームにならしていく

これをリードイン

から中規模だと1年ぐらいは見る。

 

だめではないんだけど、やりかたが会社ごとに違う。

2018-12-23

anond:20181223182722

一気に並べてみる

オーソドックスな書きかた

int i;
int space;
for (int i = 0; i < 8; i++)
{
	for (space = 0; space < i; space++)
	{
		printf(" ");
	}
	printf("Hello world\n");

}

すまん <は半角の<に置き換えてくれ(w)

バッファをつかってループを1つ削る

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		memset(buffer, 0x20, i);
		printf("%sHello world\n",buffer);

	}

memsetも削ってみる

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		buffer[i] = 0x20;
		printf("%sHello world\n",buffer);

	}

この場合特に影響はないが一般的にはmemsetを使う使わないは大きな影響になるので

memsetを削る場合は注意が必要

C++を使ってみる

	std::string space;
	for (int i = 0; i < 8; i++) {
		printf("%sHello world\n", space.c_str());
		space += " ";
	}

C++を使ってみるの別回答

	std::string space_org;
	for (int i = 0; i < 8; i++) {
		std::string space = space_org + " ";
		printf("%sHello world\n", space.c_str());
		space_org = space;
	}

考察

ざつにかんがえても 書き方いろいろ 

それぞれメリット デメリットが有る

まり まぁ どれがいいというよりは

状況に応じてかき分けていく必要がある

学校の授業などだと

アルゴリズムの話で

ヒープソート マージソート クイックソート比較みたいな話があるけど

そこまで難しい話にいかなくても

ハローワールドだけ見てかつ雑に考えてもこのぐらいは

書き方がたくさんある

どれを書くか?どれがいいか? 考えると面白い

2015-03-16

http://anond.hatelabo.jp/20150316132825

そもそもソート全般副作用っぽいので相性悪いのだろう。

マージソートのことも思い出してやってください。あとヒープソート結構いけるで (immutableなヒープと組み合わせ。lazyと相性がいい)

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