このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
データ構造,アルゴリズム,デザインパターン総合スレ 2
http://echo.2ch.net/test/read.cgi/tech/1362301811/
【関連スレ】
3Dアルゴリズム全般
http://toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
http://toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
http://toro.2ch.net/test/read.cgi/tech/1217773415/
アルゴリズムとデータ構造 - Kaneko Lab.
ttp://www.kkaneko.com/adp/algo/index.html
アルゴリズムとデータ構造 - ソースコード探険隊
ttp://www.codereading.com/algo_and_ds/
各種アルゴリズムの C++ による実装 - Spaghetti Source
ttp://www.prefield.com/algorithm/
アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP
ttp://vipprog.net/wiki/algo_and_data_const.html
探検
データ構造,アルゴリズム,デザインパターン総合スレ 3©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/06/19(日) 14:47:29.63ID:5KvSKdL/
624デフォルトの名無しさん
2017/09/03(日) 21:20:14.64ID:+qi04Kz7625デフォルトの名無しさん
2017/09/03(日) 22:05:38.94ID:+qi04Kz7 https://ideone.com/mWu6mC
写経してみたけどどんな時に使えるのかいまいちわかりませんでした・・・
写経してみたけどどんな時に使えるのかいまいちわかりませんでした・・・
626デフォルトの名無しさん
2017/09/03(日) 23:18:58.10ID:SkKZ7pGs 正解です。
627デフォルトの名無しさん
2017/09/04(月) 23:07:19.92ID:NGSv2EGo628デフォルトの名無しさん
2017/09/14(木) 20:19:04.82ID:VdbIWmI2 Introduction to Algorithms 3rd Editionを読むスレ [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1505387171/
http://mevius.2ch.net/test/read.cgi/tech/1505387171/
629デフォルトの名無しさん
2017/09/15(金) 07:54:04.88ID:gy747Xnp630デフォルトの名無しさん
2017/09/15(金) 11:43:47.38ID:NePdqYQx 隣接行列とか
631デフォルトの名無しさん
2017/09/16(土) 07:20:33.50ID:DwhIrlJj632デフォルトの名無しさん
2017/09/16(土) 09:24:14.80ID:pDAu8pHG consセル?
633デフォルトの名無しさん
2017/09/17(日) 17:09:50.02ID:7slIJ8sy Kleinberg & Tardosの本に以下のような内容の記述があります。
でも、 n > 1 のとき、 H が universal になることは決してないですよね。
u = v のとき、常に、 h(u) = h(v) なので、問題の確率は 1 ですから。
--------------------------------------------------
U を要素数の非常に多い有限集合とする。
H を U から {0, 1, ..., n-1} へのすべての写像の集合のある部分集合とする。
u, v ∈ U に対して、ランダムに選んだ h ∈ H が h(u) = h(v) を満たす確率はたかだか 1/n であるとき、
H は universal であるという。
でも、 n > 1 のとき、 H が universal になることは決してないですよね。
u = v のとき、常に、 h(u) = h(v) なので、問題の確率は 1 ですから。
--------------------------------------------------
U を要素数の非常に多い有限集合とする。
H を U から {0, 1, ..., n-1} へのすべての写像の集合のある部分集合とする。
u, v ∈ U に対して、ランダムに選んだ h ∈ H が h(u) = h(v) を満たす確率はたかだか 1/n であるとき、
H は universal であるという。
634デフォルトの名無しさん
2017/09/17(日) 17:30:37.45ID:7slIJ8sy S を #S ≦ n であるような任意の U の部分集合とする。
u を U の任意の要素とする。
X を ランダムな選択 h ∈ H に対して、値 #{s ∈ S | h(s) = h(u)} をとるようなランダム変数とする。
このとき、
E[X] ≦ 1
である。
証明:
s ∈ S に対し、
h(s) = h(u) であるならば、 1
h(s) ≠ h(u) であるならば、 0
となるようなランダム変数を X_s とする。
仮定により、 H は universal であるから、
E[X_s] = Pr[Xs = 1] ≦ 1/n
X = Σ X_s だから期待値の線形性により、
E[X] = ΣE[X_s] ≦ #S * (1/n) ≦ 1
u を U の任意の要素とする。
X を ランダムな選択 h ∈ H に対して、値 #{s ∈ S | h(s) = h(u)} をとるようなランダム変数とする。
このとき、
E[X] ≦ 1
である。
証明:
s ∈ S に対し、
h(s) = h(u) であるならば、 1
h(s) ≠ h(u) であるならば、 0
となるようなランダム変数を X_s とする。
仮定により、 H は universal であるから、
E[X_s] = Pr[Xs = 1] ≦ 1/n
X = Σ X_s だから期待値の線形性により、
E[X] = ΣE[X_s] ≦ #S * (1/n) ≦ 1
635デフォルトの名無しさん
2017/09/17(日) 17:32:48.13ID:7slIJ8sy この証明は、
u ∈ S であるとき、破綻しますよね。
u ∈ S であるとき、破綻しますよね。
636デフォルトの名無しさん
2017/09/17(日) 17:37:20.77ID:7slIJ8sy Kleinbergはネヴァンリンナ賞を受賞した人だそうですが、大丈夫な人なのでしょうか?
637デフォルトの名無しさん
2017/09/17(日) 18:52:52.16ID:qJGXQCnw ID:7slIJ8syは馬鹿アスペの松坂君
638デフォルトの名無しさん
2017/09/17(日) 23:18:40.22ID:2kxiy1Rb > u = v のとき、常に、
また勝手におれ条件を付け加えてるな。
また勝手におれ条件を付け加えてるな。
639デフォルトの名無しさん
2017/10/06(金) 23:28:50.73ID:5xvc7oH2 T(n) = Ω(g(n))
⇔
T(n) ≧ c*g(n) となる n が無限に多く存在するような定数 c が存在する。
という定義がありますが、なぜ、ほとんどすべての n ではないのでしょうか?
⇔
T(n) ≧ c*g(n) となる n が無限に多く存在するような定数 c が存在する。
という定義がありますが、なぜ、ほとんどすべての n ではないのでしょうか?
640デフォルトの名無しさん
2017/10/07(土) 08:08:49.02ID:oYr2GY5l 「B木」の「B」の由来って謎なのかよ。
641デフォルトの名無しさん
2017/10/07(土) 08:55:33.93ID:uFxBTiFA642デフォルトの名無しさん
2017/10/07(土) 10:32:49.92ID:yM1og+Z2 Binary(嘘)
Balance(へ?)
Balance(へ?)
643デフォルトの名無しさん
2017/10/07(土) 14:37:48.61ID:a6QcCG6E Boeing
644デフォルトの名無しさん
2017/10/07(土) 19:13:27.20ID:htJPCTEu バランスだろ
645デフォルトの名無しさん
2017/10/08(日) 09:18:29.57ID:IlB/Yh1D A木があるだから、その次ってことでB木だろ
646デフォルトの名無しさん
2017/10/08(日) 10:08:31.18ID:S5+imH6k C木、D木、・・・、Z木
647デフォルトの名無しさん
2017/10/08(日) 11:43:33.94ID:I0zVkG9n 乃木、高木、猪木
648デフォルトの名無しさん
2017/10/08(日) 12:52:27.73ID:u+rv4D7i Θ(f(n)) を使うべきところで、 O(f(n)) を使っているという批判をする人がいますが、
具体的にはどういう状況でしょうか?
具体的にはどういう状況でしょうか?
649デフォルトの名無しさん
2017/10/08(日) 19:44:09.13ID:bBgzVIcc シータオメガなんて数学以外で使ったことない
650デフォルトの名無しさん
2017/10/08(日) 20:36:16.81ID:IlB/Yh1D FFでよく使う
651デフォルトの名無しさん
2017/10/08(日) 20:44:05.42ID:97xX0KxU AAでまれに使う
652デフォルトの名無しさん
2017/10/09(月) 18:34:06.40ID:vbK8I5kP 浅野孝夫著『アルゴリズムの基礎とデータ構造』を読んでいます。
「上の挿入ソートの例のように、基本演算回数(比較回数)は入力サイズ n にのみ
依存するとは言えない。そこで、入力サイズ n の入力のうちでアルゴリズムが最も
多くの基本演算を必要とする入力を考えて、それに対する基本演算回数を、本書ではん、
サイズ n の入力に対するアルゴリズムの計算量(time complexity of an algorithm)と
呼ぶ。すなわち、最悪の場合を想定してアルゴリズムの計算量を定めていることになる。
このようにして定められたアルゴリズムの計算量 T はもちろん n にのみ依存する関数で
あるので T(n) と書ける。上の挿入ソートの例では T(n) = n*(n-1)/2 である。」
と書いてあります。
その後、マージソートのところには、
「マージソートの計算量は T(n) = O(n*log(n)) である」
と書いてあります。
T(n) は最悪の場合の計算量ですから、
T(n) = Θ(n*log(n)) が正しいのではないでしょうか?
ちなみに、浅野さんは、この本の最初のほうで O, Ω, Θ を定義しています。
「上の挿入ソートの例のように、基本演算回数(比較回数)は入力サイズ n にのみ
依存するとは言えない。そこで、入力サイズ n の入力のうちでアルゴリズムが最も
多くの基本演算を必要とする入力を考えて、それに対する基本演算回数を、本書ではん、
サイズ n の入力に対するアルゴリズムの計算量(time complexity of an algorithm)と
呼ぶ。すなわち、最悪の場合を想定してアルゴリズムの計算量を定めていることになる。
このようにして定められたアルゴリズムの計算量 T はもちろん n にのみ依存する関数で
あるので T(n) と書ける。上の挿入ソートの例では T(n) = n*(n-1)/2 である。」
と書いてあります。
その後、マージソートのところには、
「マージソートの計算量は T(n) = O(n*log(n)) である」
と書いてあります。
T(n) は最悪の場合の計算量ですから、
T(n) = Θ(n*log(n)) が正しいのではないでしょうか?
ちなみに、浅野さんは、この本の最初のほうで O, Ω, Θ を定義しています。
653デフォルトの名無しさん
2017/10/09(月) 18:35:57.26ID:vbK8I5kP もちろん、 f(n) ∈ Θ(n*log(n)) ⇒ f(n) ∈ O(n*log(n)) ですが。
654デフォルトの名無しさん
2017/10/09(月) 18:51:59.25ID:vbK8I5kP 浅野さんは、挿入ソートの計算量を
O(n^2)
と書いています。
これも
Θ(n^2)
と書くべきですよね。
>>652
に引用したように、
「上の挿入ソートの例では T(n) = n*(n-1)/2」
ですから。
O(n^2)
と書いています。
これも
Θ(n^2)
と書くべきですよね。
>>652
に引用したように、
「上の挿入ソートの例では T(n) = n*(n-1)/2」
ですから。
655デフォルトの名無しさん
2017/10/09(月) 20:59:07.08ID:kKYMaHZG 馬鹿アスペの連投
656デフォルトの名無しさん
2017/10/09(月) 21:39:35.32ID:HQb3QT54 ID:vbK8I5kP くらいの基地外になれば、100連投だって容易い。
657デフォルトの名無しさん
2017/10/15(日) 10:39:26.70ID:Cy7I/MU1 ソートの決定木についてですが、葉の数が「少なくとも」 n! 個あると説明されることが多いですが、
ちょうど n! 個と書かない理由は何ですか?
ちょうど n! 個と書かない理由は何ですか?
658デフォルトの名無しさん
2017/10/15(日) 10:46:56.72ID:Cy7I/MU1 既に順序が決定されているにもかかわらず、さらに無駄な比較をするようなプログラムの
ことを想定しているのでしょうか?
ことを想定しているのでしょうか?
659デフォルトの名無しさん
2017/10/15(日) 10:48:49.83ID:Cy7I/MU1 そうだとすると、決定木のある部分木で、その葉がすべて同じ順序に対応するようなものが
存在することになります。
存在することになります。
660デフォルトの名無しさん
2017/10/15(日) 10:49:46.78ID:Cy7I/MU1 ソートの決定木について厳密に論じている本はありますか?
661デフォルトの名無しさん
2017/10/15(日) 11:09:38.82ID:Cy7I/MU1 This result serves as a guide for us to know, when designing a sorting algorithm, how
well we can expect to do. For example, without such a result, one might set out to try
to design a compare-based sorting algorithm that uses half as many compares as does
mergesort, in the worst case. The lower bound in Proposition I says that such an effort
is futile?no such algorithm exists
well we can expect to do. For example, without such a result, one might set out to try
to design a compare-based sorting algorithm that uses half as many compares as does
mergesort, in the worst case. The lower bound in Proposition I says that such an effort
is futile?no such algorithm exists
662デフォルトの名無しさん
2017/10/15(日) 11:10:24.51ID:Cy7I/MU1663デフォルトの名無しさん
2017/10/15(日) 11:13:29.73ID:Cy7I/MU1 最悪時にマージソートの半分の比較しか必要でないソートのアルゴリズムが存在しないこと
は証明できるのでしょうか?
は証明できるのでしょうか?
664デフォルトの名無しさん
2017/10/15(日) 11:54:45.59ID:Cy7I/MU1665デフォルトの名無しさん
2017/10/15(日) 13:42:57.88ID:IuOQVSqs 馬鹿アスペの連投
666デフォルトの名無しさん
2017/10/21(土) 16:32:10.02ID:edOw+XtB 浅野孝夫著『アルゴリズムの基礎とデータ構造』を読んでいます。
以下の問題に対する浅野さんの解答が↓です。
「このとき根は葉ではないので左の子 v および右の子 w をもつ。」などと書いていますが、
深さ d > 0 の二分木で左の子もしくは右の子を持たないものも当然存在します。
おかしな解答ですね。
二分木において、深さ d までの葉の総数は 2^d 以下であることを示せ。
d に関する帰納法で証明できる。 d = 0 のときは根は葉になるので明らかに成立する。 d > 0 未満で
成立すると仮定し d のときを考える。このとき根は葉ではないので左の子 v および右の子 w をもつ。
v を根とする部分木の深さ d - 1 までの葉が元々の二分木の深さ d までの葉になるがそのような葉の
総数は帰納法の仮定より、 2^(d-1) 以下である。同様に w を根とする部分木の深さ d - 1 までの葉の
総数も 2^(d-1) 以下であり、したがって、元々の二分木の深さ d までの葉の総数は 2^d 以下であることが
言えた。
この問題文自体もおかしいです。
この問題の結果が本文中で使われていてそこを読めばわかるのですが、問題文の意味は、
「深さ d の二分木の葉の総数は 2^d 以下であることを示せ」です。以下のような解答が模範解答ですね。
深さ d の二分木でその葉の総数が 2^d + 1 個以上であるような二分木が存在すると仮定する。
そのような二分木のうち葉の総数が最多であるような二分木を T とする。
すべての葉の深さが d であるような二分木の葉の総数は明らかに 2^d 個である。
よって T の葉にはその深さが d 未満であるような葉が存在する。この葉に子ノードを持たせれば
深さ d の二分木で葉の総数が T の葉の総数よりも多い二分木を作ることができるがこれは矛盾である。
よって、深さ d の二分木の葉の総数は 2^d 個以下である。
以下の問題に対する浅野さんの解答が↓です。
「このとき根は葉ではないので左の子 v および右の子 w をもつ。」などと書いていますが、
深さ d > 0 の二分木で左の子もしくは右の子を持たないものも当然存在します。
おかしな解答ですね。
二分木において、深さ d までの葉の総数は 2^d 以下であることを示せ。
d に関する帰納法で証明できる。 d = 0 のときは根は葉になるので明らかに成立する。 d > 0 未満で
成立すると仮定し d のときを考える。このとき根は葉ではないので左の子 v および右の子 w をもつ。
v を根とする部分木の深さ d - 1 までの葉が元々の二分木の深さ d までの葉になるがそのような葉の
総数は帰納法の仮定より、 2^(d-1) 以下である。同様に w を根とする部分木の深さ d - 1 までの葉の
総数も 2^(d-1) 以下であり、したがって、元々の二分木の深さ d までの葉の総数は 2^d 以下であることが
言えた。
この問題文自体もおかしいです。
この問題の結果が本文中で使われていてそこを読めばわかるのですが、問題文の意味は、
「深さ d の二分木の葉の総数は 2^d 以下であることを示せ」です。以下のような解答が模範解答ですね。
深さ d の二分木でその葉の総数が 2^d + 1 個以上であるような二分木が存在すると仮定する。
そのような二分木のうち葉の総数が最多であるような二分木を T とする。
すべての葉の深さが d であるような二分木の葉の総数は明らかに 2^d 個である。
よって T の葉にはその深さが d 未満であるような葉が存在する。この葉に子ノードを持たせれば
深さ d の二分木で葉の総数が T の葉の総数よりも多い二分木を作ることができるがこれは矛盾である。
よって、深さ d の二分木の葉の総数は 2^d 個以下である。
667デフォルトの名無しさん
2017/10/21(土) 16:38:07.00ID:FeyeuQ+N >すべての葉の深さが d であるような二分木の葉の総数は明らかに 2^d 個である。
これ出しちゃったらそれで証明おしまいのような気がするが。
これ出しちゃったらそれで証明おしまいのような気がするが。
668デフォルトの名無しさん
2017/10/21(土) 16:43:21.60ID:edOw+XtB あ、問題文はおかしくないようです。
二分木において、深さ d までの葉の総数は 2^d 以下であることを示せ。
という問題でOKです。
二分木において、深さ d までの葉の総数は 2^d 以下であることを示せ。
という問題でOKです。
669デフォルトの名無しさん
2017/10/21(土) 16:51:58.42ID:edOw+XtB 二分木において、深さ d までの葉の総数が 2^d + 1 個以上である二分木が存在すると仮定する。
深さ d までの葉の総数が最多である二分木を T とする。
このとき、 T には深さ d 未満の葉が少なくとも一つ存在する。もしそうでないと仮定すると、 T の
すべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 2^d 個以下に
なってしまうが、これは矛盾である。
T の深さ d 未満の葉に子ノードを持たせれば、深さ d までの葉の総数が T よりも多い二分木が存在する
ことになってしまい矛盾が発生する。
よって、において、深さ d までの葉の総数は 2^d 個以下である。
深さ d までの葉の総数が最多である二分木を T とする。
このとき、 T には深さ d 未満の葉が少なくとも一つ存在する。もしそうでないと仮定すると、 T の
すべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 2^d 個以下に
なってしまうが、これは矛盾である。
T の深さ d 未満の葉に子ノードを持たせれば、深さ d までの葉の総数が T よりも多い二分木が存在する
ことになってしまい矛盾が発生する。
よって、において、深さ d までの葉の総数は 2^d 個以下である。
670デフォルトの名無しさん
2017/10/21(土) 18:35:04.55ID:JlJoedU7 馬鹿アスペの連投
671デフォルトの名無しさん
2017/10/21(土) 18:51:41.34ID:FeyeuQ+N 二分木じゃなくて三分木なら2^d以下ではないわけだけど、>>669の証明を二分木から三分木に変えても
論理展開に違いが出ないから明らかにおかしいだろう。
論理展開に違いが出ないから明らかにおかしいだろう。
672デフォルトの名無しさん
2017/10/21(土) 19:21:45.75ID:edOw+XtB 三分木では、
「もしそうでないと仮定すると、 T のすべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 2^d 個以下に
なってしまう」
が成り立ちません。
「もしそうでないと仮定すると、 T のすべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 2^d 個以下に
なってしまう」
が成り立ちません。
673デフォルトの名無しさん
2017/10/21(土) 19:24:01.05ID:edOw+XtB 三分木の場合の証明は以下のようになりますね。
三分木において、深さ d までの葉の総数が 3^d + 1 個以上である三分木が存在すると仮定する。
深さ d までの葉の総数が最多である三分木を T とする。
このとき、 T には深さ d 未満の葉が少なくとも一つ存在する。もしそうでないと仮定すると、 T の
すべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 3^d 個以下に
なってしまうが、これは矛盾である。
T の深さ d 未満の葉に子ノードを持たせれば、深さ d までの葉の総数が T よりも多い三分木が存在する
ことになってしまい矛盾が発生する。
よって、において、深さ d までの葉の総数は 3^d 個以下である。
三分木において、深さ d までの葉の総数が 3^d + 1 個以上である三分木が存在すると仮定する。
深さ d までの葉の総数が最多である三分木を T とする。
このとき、 T には深さ d 未満の葉が少なくとも一つ存在する。もしそうでないと仮定すると、 T の
すべての葉の深さは d 以上であるから、明らかに深さ d までの葉の総数は 3^d 個以下に
なってしまうが、これは矛盾である。
T の深さ d 未満の葉に子ノードを持たせれば、深さ d までの葉の総数が T よりも多い三分木が存在する
ことになってしまい矛盾が発生する。
よって、において、深さ d までの葉の総数は 3^d 個以下である。
674デフォルトの名無しさん
2017/10/21(土) 19:33:58.53ID:FeyeuQ+N675名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 15:43:58.38ID:PJF1xk0l 2分ヒープは完全二分木を使ったデータ構造ですが。
この完全二分木のことを半順序のついた木というのはなぜでしょうか?
この完全二分木のことを半順序のついた木というのはなぜでしょうか?
676デフォルトの名無しさん
2017/10/23(月) 05:47:03.23ID:iFI38Dlw %%%%1000%%%%
000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
677デフォルトの名無しさん
2017/10/24(火) 00:30:44.81ID:jO+jDbIG バッチ処理, ジョブ制御に有効なデザインパターンって何?
678デフォルトの名無しさん
2017/10/24(火) 09:45:11.29ID:JWUKPJot バッジパターン
679デフォルトの名無しさん
2017/11/05(日) 08:35:59.08ID:0dKYGWWl ヤフーブログの https://blogs.yahoo.co.jp/kamyu_2010 にデザパタ解説を発見した。
680デフォルトの名無しさん
2017/11/05(日) 13:49:09.49ID:kyKiHR5g >>675
再帰的に、親は両方の子以下の数値をもつ。
左右の子の大小関係は考慮しない
ここでは説明しやすいように、配列の[0]は使わない。
[1]から始めると計算が楽。
親1, 左右の子は2, 3で、法則は、親n, 子2n, 2n+1
もし[0]から始めると、
親0, 左右の子は1, 2で、親1, 左右の子は3, 4で、
法則は、親n, 子2n+1, 2n+2、となり複雑
親[1] → 子[2, 3]
[1]3, [2]10, [3]30
[2] → [4, 5]
[4]100, [5]20
[3] → [6, 7]
[6]70, [7]200
JavaScript で、漏れが作った、2分ヒープ
http://jsdo.it/michihito/bGH5
再帰的に、親は両方の子以下の数値をもつ。
左右の子の大小関係は考慮しない
ここでは説明しやすいように、配列の[0]は使わない。
[1]から始めると計算が楽。
親1, 左右の子は2, 3で、法則は、親n, 子2n, 2n+1
もし[0]から始めると、
親0, 左右の子は1, 2で、親1, 左右の子は3, 4で、
法則は、親n, 子2n+1, 2n+2、となり複雑
親[1] → 子[2, 3]
[1]3, [2]10, [3]30
[2] → [4, 5]
[4]100, [5]20
[3] → [6, 7]
[6]70, [7]200
JavaScript で、漏れが作った、2分ヒープ
http://jsdo.it/michihito/bGH5
681デフォルトの名無しさん
2017/11/05(日) 13:58:55.54ID:lcYDevpf で、半順序はどこに登場するんですか?
682デフォルトの名無しさん
2017/11/05(日) 19:58:31.80ID:kyKiHR5g >左右の子の大小関係は考慮しない
683デフォルトの名無しさん
2017/11/06(月) 23:54:10.39ID:Xbh99dPN シングルトンがいけないとかたまに聞くんだけど
シングルトンなしでどうやるのか誰か教えて
シングルトン使わないで済むならシングルトン辞めることには吝かではないんだが
どうやるのかが分からない
HolderとかRepository作るとどうしてもシングルトンになっちゃう
誰か助けて
シングルトンなしでどうやるのか誰か教えて
シングルトン使わないで済むならシングルトン辞めることには吝かではないんだが
どうやるのかが分からない
HolderとかRepository作るとどうしてもシングルトンになっちゃう
誰か助けて
684デフォルトの名無しさん
2017/11/07(火) 08:06:23.75ID:FkpvBRAi シングルトンの何がいけないのかをわかっていれば別に使ってもいいんじゃないか?
と思うんだが
と思うんだが
685デフォルトの名無しさん
2017/11/08(水) 03:27:16.05ID:pi2d/ZnM staticでおk
686デフォルトの名無しさん
2017/11/10(金) 09:56:08.91ID:O+5a47Rv 内部ノード数 n の 2色木の Black Height を h であらわすと以下の不等式が成り立つ。
2^(h-1) - 1 ≦ n ≦ 2^(2*h-1) - 1
よって、 h = O(log(n))
とある本に書いてあります。
これっておかしいですよね?
h は n の関数ではありません。内部ノード数から2色木の Black Height は一意的にはきまらないからです。
もちろん、 O(log(n)) の左辺には n の関数が来るきまりです。
ですので、 h = O(log(n)) と書くのはおかしいのではないでしょうか?
2^(h-1) - 1 ≦ n ≦ 2^(2*h-1) - 1
よって、 h = O(log(n))
とある本に書いてあります。
これっておかしいですよね?
h は n の関数ではありません。内部ノード数から2色木の Black Height は一意的にはきまらないからです。
もちろん、 O(log(n)) の左辺には n の関数が来るきまりです。
ですので、 h = O(log(n)) と書くのはおかしいのではないでしょうか?
687デフォルトの名無しさん
2017/11/10(金) 12:02:03.17ID:WtBM3Wp4 メッセージキューイングって
Commandパターンで実装するで合ってる?
Commandパターンで実装するで合ってる?
688デフォルトの名無しさん
2017/11/12(日) 17:56:18.04ID:5J9eZD00689デフォルトの名無しさん
2017/11/12(日) 19:28:20.81ID:2NYvmr0h h が n の関数ではないにもかかわらず
h ∈ O(log(n))
と書いているのがナンセンスです。
h ∈ O(log(n))
と書いているのがナンセンスです。
690デフォルトの名無しさん
2017/11/12(日) 19:46:50.82ID:wWQbf7ET691デフォルトの名無しさん
2017/11/12(日) 20:23:32.92ID:2NYvmr0h n から h は一意的に決まりません。
よって、
h は n の関数ではありません。
よって、
h は n の関数ではありません。
692デフォルトの名無しさん
2017/11/12(日) 21:38:49.52ID:wkhRVmHI >>691
(1)より一意に決まらなくても計算量は同じでしょ?
(1)より一意に決まらなくても計算量は同じでしょ?
693デフォルトの名無しさん
2017/11/13(月) 18:01:47.14ID:O+WFbO9G >もちろん、 O(log(n)) の左辺には n の関数が来るきまりです。
ここの時点でおかしい
ここの時点でおかしい
694デフォルトの名無しさん
2017/11/13(月) 18:49:03.12ID:TURt7nwr695デフォルトの名無しさん
2017/11/14(火) 16:22:50.14ID:kwaLWx7P 抽象メソッドしか定義されない型のことを
「インタフェース」ってネーミングセンスは頭おかしいんじゃないの?
インタフェースって言ったら通常「UI」とか外部の窓口になったり、
外部デバイスとの接続ポイントになるコネクタのことを言うじゃん。
オブジェクトの型のことを「インタフェース」なんて言ったら誤解を招くだろ。
「インタフェース」ってネーミングセンスは頭おかしいんじゃないの?
インタフェースって言ったら通常「UI」とか外部の窓口になったり、
外部デバイスとの接続ポイントになるコネクタのことを言うじゃん。
オブジェクトの型のことを「インタフェース」なんて言ったら誤解を招くだろ。
696デフォルトの名無しさん
2017/11/14(火) 16:49:12.95ID:dN7NjwRx697デフォルトの名無しさん
2017/11/14(火) 18:46:26.43ID:9XknVuf7 外部の窓口になったり、外部デバイスとの接続ポイントになるのが抽象メソッドだから。
つまりそれしか定義されてないということは、インターフェースそのものと言っていいだろう。
つまりそれしか定義されてないということは、インターフェースそのものと言っていいだろう。
698デフォルトの名無しさん
2017/11/14(火) 20:12:16.44ID:R1CE9PkA デザパタスキル、エンベッデイドスキルなんやかや言うが、みんな大事な部分は閃きなんだがなぁ・・・
作曲と同じ。 閃き・・・ とどのつまり、神が書かせているという事。
そこを理解できない限り、そのプログラマーは聖職では無い。
作曲と同じ。 閃き・・・ とどのつまり、神が書かせているという事。
そこを理解できない限り、そのプログラマーは聖職では無い。
699デフォルトの名無しさん
2017/11/15(水) 13:14:29.24ID:qga1lTtf 神などと妄想するようになったら科学の全否定の始まり。無知が故の過ち。
700デフォルトの名無しさん
2017/11/18(土) 18:23:02.44ID:SgBQyEr/ 神「共通化せよ――」
僕「はい」
神「ごめん間違えた――」
僕「うわぁぁああぁああ!!!」
僕「はい」
神「ごめん間違えた――」
僕「うわぁぁああぁああ!!!」
701デフォルトの名無しさん
2017/11/18(土) 18:29:25.85ID:ebkB7QGA 神とは強いて言えば可能性
702デフォルトの名無しさん
2017/11/19(日) 23:12:44.83ID:opsy6abA 以下で定義される写像 A : N × N → N を Ackermann 関数という。
A(1, j) = 2^j for j = 1, 2, 3, …
A(i, 1) = A(i-1, 2) for i = 2, 3, 4, …
A(i, j) = A(i-1, A(i, j-1)) for i = 2, 3, 4, … for j = 2, 3, 4, …
α(m, n) = min {i ≧ 1 | A(i, floor(m/n)) > log_2(n)}
で定義される写像 α : {(m, n) | m, n ∈ N, m ≧ n} → N を Ackermann 逆関数という。
なぜ、この α を Ackermann 関数の逆関数と呼ぶのでしょうか?
A(1, j) = 2^j for j = 1, 2, 3, …
A(i, 1) = A(i-1, 2) for i = 2, 3, 4, …
A(i, j) = A(i-1, A(i, j-1)) for i = 2, 3, 4, … for j = 2, 3, 4, …
α(m, n) = min {i ≧ 1 | A(i, floor(m/n)) > log_2(n)}
で定義される写像 α : {(m, n) | m, n ∈ N, m ≧ n} → N を Ackermann 逆関数という。
なぜ、この α を Ackermann 関数の逆関数と呼ぶのでしょうか?
703デフォルトの名無しさん
2017/11/20(月) 20:37:12.88ID:Sdx1OtwZ courseraのセジウィックとウエインの講義を受講しています。
プログラミングの課題のチェックが超厳しいですね。
'if' is not followed by whitespace.
「if」の後ろにスペースを入れないといけないなんて初めて聞きました。
そんなことまで強制されたらたまりませんね。
プログラミングの課題のチェックが超厳しいですね。
'if' is not followed by whitespace.
「if」の後ろにスペースを入れないといけないなんて初めて聞きました。
そんなことまで強制されたらたまりませんね。
704デフォルトの名無しさん
2017/11/20(月) 20:40:14.03ID:uYx1UAMq 大概のプロジェクトで採用されてるスタイルだから従っとけ
スペース軽視するやつ多すぎ
スペース軽視するやつ多すぎ
705デフォルトの名無しさん
2017/11/20(月) 20:43:51.90ID:Y8ntE/6M706デフォルトの名無しさん
2017/11/20(月) 20:54:20.19ID:XqE+Nf2F フオーマッタの設定の指定とか無いの?
707デフォルトの名無しさん
2017/11/20(月) 23:10:14.23ID:ohy70QIE 一般的なコーディングルールには従ったほうがよい
最近の言語環境では放っておいてもツッコミ入れてくれたりもするが
最近の言語環境では放っておいてもツッコミ入れてくれたりもするが
708デフォルトの名無しさん
2017/11/21(火) 07:03:23.42ID:G6ETZwfO 業務システムでオブジェクト指向不要って意見はどう思いますか
大抵スパゲティークエリになってる印象ですが
大抵スパゲティークエリになってる印象ですが
709デフォルトの名無しさん
2017/11/21(火) 07:13:27.16ID:OOffmQFA 途中からオブジェクト指向混ぜられても困るだろ
実行効率や記述効率は悪くたって別に構わないのだから(ここわかってない人多し)、プロジェクトに来た全員が理解利用できる書き方が最優先
無論技術的にも業務的にもうんこだが、そこを追求すべき場所ではないところで勝手に追及を始めるのはそれこそうんこのやること
ゼロからオーバーホールを提案してもよいが最後まで自己責任で看取れ
実行効率や記述効率は悪くたって別に構わないのだから(ここわかってない人多し)、プロジェクトに来た全員が理解利用できる書き方が最優先
無論技術的にも業務的にもうんこだが、そこを追求すべき場所ではないところで勝手に追及を始めるのはそれこそうんこのやること
ゼロからオーバーホールを提案してもよいが最後まで自己責任で看取れ
710デフォルトの名無しさん
2017/11/21(火) 17:43:16.86ID:M9cr/U+S >>709
サブクエリ五重の塔を見て上長にキツいと報告したら世界にはバベルの塔がいっぱいあるのに根をあげるなと叱られました
せめて何をしたいのかドキュメント欲しいと言ったらコードが全てだとも言われました
IT業界の厳しさを知りました
サブクエリ五重の塔を見て上長にキツいと報告したら世界にはバベルの塔がいっぱいあるのに根をあげるなと叱られました
せめて何をしたいのかドキュメント欲しいと言ったらコードが全てだとも言われました
IT業界の厳しさを知りました
711デフォルトの名無しさん
2017/11/21(火) 18:14:34.60ID:3zrw9He/ >>710
マ板にどうぞ
マ板にどうぞ
712デフォルトの名無しさん
2017/11/22(水) 09:23:31.55ID:milfaijK courseraのセジウィックとウエインの講義の最初の課題であるパーコレーションだけど
backwashを防ぐにはどうすればいいんですか?
backwashを防ぐにはどうすればいいんですか?
713デフォルトの名無しさん
2017/11/22(水) 10:42:20.23ID:milfaijK あ、分かりました。
virtual topにはつなぐがvirtual bottomにはつながないUF
virtual topにもvirtual bottomにもつなぐUF
を使えばいいんですね。
virtual topにはつなぐがvirtual bottomにはつながないUF
virtual topにもvirtual bottomにもつなぐUF
を使えばいいんですね。
714デフォルトの名無しさん
2017/11/22(水) 10:51:20.09ID:milfaijK 成績が100点満点中97点になりました。
715デフォルトの名無しさん
2017/11/22(水) 10:52:40.54ID:milfaijK 成績が100点満点中98点になりました。
716デフォルトの名無しさん
2017/11/22(水) 11:48:25.03ID:vqOaIl/E 今日のNG ID:milfaijK
717デフォルトの名無しさん
2017/11/22(水) 15:34:31.81ID:milfaijK718デフォルトの名無しさん
2017/11/22(水) 15:35:42.67ID:milfaijK 快挙ですね。
719デフォルトの名無しさん
2017/11/23(木) 12:04:48.38ID:Le5wB72/ デザインパターンで規定されるいろいろなクラスがあるけど
これらのクラスはそれぞれレイヤー化アーキテクチャのどこに
属すのか知りたい。
たとえばStateパターンがあった場合に、
・<<interface>>State
・ConcreteState x n
・Context
があったとき、
これらは、クラスを配置する場所的に
・プレゼンテーション層(UI層)
・App層
・サービス層
・ビジネスロジック層
・パーシステンス層
のどこの層として配置すればいいのか
これらのクラスはそれぞれレイヤー化アーキテクチャのどこに
属すのか知りたい。
たとえばStateパターンがあった場合に、
・<<interface>>State
・ConcreteState x n
・Context
があったとき、
これらは、クラスを配置する場所的に
・プレゼンテーション層(UI層)
・App層
・サービス層
・ビジネスロジック層
・パーシステンス層
のどこの層として配置すればいいのか
720デフォルトの名無しさん
2017/11/23(木) 12:18:16.35ID:DeXlBicR > デザインパターンで規定されるいろいろなクラスがあるけど
> これらのクラスはそれぞれレイヤー化アーキテクチャのどこに
> 属すのか知りたい。
デザパタはレイヤ化アーキテクチャに属すものだという考え方が謎なんだけど
> これらのクラスはそれぞれレイヤー化アーキテクチャのどこに
> 属すのか知りたい。
デザパタはレイヤ化アーキテクチャに属すものだという考え方が謎なんだけど
721デフォルトの名無しさん
2017/11/23(木) 12:18:26.01ID:fJlhhdGs722デフォルトの名無しさん
2017/11/23(木) 13:43:59.34ID:veVPgurQ723デフォルトの名無しさん
2017/11/25(土) 15:28:17.03ID:unmm6CwQ java用語発表されてもなー
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- AV女優さん「時間停止物」のAVを完全否定してネット騒然。お前らの夢が1つ潰える [152212454]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 自閉症が「んなっしょい」と連呼するお🏡
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- (´・ω・`)おはよ
