Enviar búsqueda
Cargar
Jissou
•
0 recomendaciones
•
687 vistas
Ken Ogura
Seguir
実装をするときは 1.PCから離れて 2.機能を頭でイメージして 3.擬似コードは参考程度でコピペせず 4.if分岐が深くならないように設計して 実装しましょう。
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 23
Descargar ahora
Descargar para leer sin conexión
Recomendados
Kansai.pm
Kansai.pm
Sachiko Imaoka
電子工作に入門したい人生だった
電子工作に入門したい人生だった
稔 川口
Pixel game creation
Pixel game creation
risa buto
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
77web
Reverseengineering koukai
Reverseengineering koukai
Saya Katafuchi
第一回Shibuya.javaオープニング
第一回Shibuya.javaオープニング
Kazuhiro Serizawa
プログラミング言語を作る
プログラミング言語を作る
Masaya Konishi
10分で変わるパワポアカデミーv01
10分で変わるパワポアカデミーv01
masaki sukeda
Recomendados
Kansai.pm
Kansai.pm
Sachiko Imaoka
電子工作に入門したい人生だった
電子工作に入門したい人生だった
稔 川口
Pixel game creation
Pixel game creation
risa buto
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
77web
Reverseengineering koukai
Reverseengineering koukai
Saya Katafuchi
第一回Shibuya.javaオープニング
第一回Shibuya.javaオープニング
Kazuhiro Serizawa
プログラミング言語を作る
プログラミング言語を作る
Masaya Konishi
10分で変わるパワポアカデミーv01
10分で変わるパワポアカデミーv01
masaki sukeda
April2013
April2013
Ken Ogura
April2013
April2013
Ken Ogura
Moon
Moon
Ken Ogura
Cをやりましょう
Cをやりましょう
Ken Ogura
PC解体
PC解体
Ken Ogura
Yarudake
Yarudake
Ken Ogura
かけざん
かけざん
Ken Ogura
Mage
Mage
Ken Ogura
Trianguler
Trianguler
Ken Ogura
Deque with Haskel
Deque with Haskel
Ken Ogura
人間対Pc2
人間対Pc2
Ken Ogura
Npc april fool2014
Npc april fool2014
Ken Ogura
Amortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 Stack
Ken Ogura
Imo
Imo
Ken Ogura
辺彩色
辺彩色
Ken Ogura
ハッキング実演
ハッキング実演
Ken Ogura
計算量
計算量
Ken Ogura
Shio dtm
Shio dtm
Ken Ogura
Hairetu2
Hairetu2
Ken Ogura
Lunch
Lunch
Ken Ogura
Divisor
Divisor
Ken Ogura
Homework
Homework
Ken Ogura
Más contenido relacionado
Destacado
April2013
April2013
Ken Ogura
April2013
April2013
Ken Ogura
Moon
Moon
Ken Ogura
Cをやりましょう
Cをやりましょう
Ken Ogura
PC解体
PC解体
Ken Ogura
Yarudake
Yarudake
Ken Ogura
かけざん
かけざん
Ken Ogura
Mage
Mage
Ken Ogura
Trianguler
Trianguler
Ken Ogura
Deque with Haskel
Deque with Haskel
Ken Ogura
人間対Pc2
人間対Pc2
Ken Ogura
Npc april fool2014
Npc april fool2014
Ken Ogura
Amortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 Stack
Ken Ogura
Imo
Imo
Ken Ogura
辺彩色
辺彩色
Ken Ogura
ハッキング実演
ハッキング実演
Ken Ogura
Destacado
(16)
April2013
April2013
April2013
April2013
Moon
Moon
Cをやりましょう
Cをやりましょう
PC解体
PC解体
Yarudake
Yarudake
かけざん
かけざん
Mage
Mage
Trianguler
Trianguler
Deque with Haskel
Deque with Haskel
人間対Pc2
人間対Pc2
Npc april fool2014
Npc april fool2014
Amortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 Stack
Imo
Imo
辺彩色
辺彩色
ハッキング実演
ハッキング実演
Más de Ken Ogura
計算量
計算量
Ken Ogura
Shio dtm
Shio dtm
Ken Ogura
Hairetu2
Hairetu2
Ken Ogura
Lunch
Lunch
Ken Ogura
Divisor
Divisor
Ken Ogura
Homework
Homework
Ken Ogura
Pool
Pool
Ken Ogura
Sns
Sns
Ken Ogura
Pencil
Pencil
Ken Ogura
Spell check
Spell check
Ken Ogura
Black board
Black board
Ken Ogura
Donyoku
Donyoku
Ken Ogura
Nazoki
Nazoki
Ken Ogura
人材発掘うっはうは
人材発掘うっはうは
Ken Ogura
Más de Ken Ogura
(14)
計算量
計算量
Shio dtm
Shio dtm
Hairetu2
Hairetu2
Lunch
Lunch
Divisor
Divisor
Homework
Homework
Pool
Pool
Sns
Sns
Pencil
Pencil
Spell check
Spell check
Black board
Black board
Donyoku
Donyoku
Nazoki
Nazoki
人材発掘うっはうは
人材発掘うっはうは
Jissou
1.
JISSOU
2.
木構造 ● 木構造には親と子と根と葉がある ● 頂点を結ぶ線は枝です ●
枝をたどれたら嬉しいです ● わかりやすい図→ ● 実装して!
3.
そんな説明で 何実装したらいいか わからんやん
4.
要点をつかみましょう ●
必要なものは何? – 頂点、辺 それぞれ値を持てるべき – なら構造体だね ● 必要な機能は何? – 根への参照 – ならべつに配列で持たなくていいね。 – 枝をたどって他の頂点に行く – なら構造体には他の頂点への枝を持っておかない とね
5.
セグメント木のオペレーター ● 再帰的に組む ● 葉の方向に再帰する ●
必要がなかったら再帰しない ● それ以上でもそれ以下でもないよ ● ありほん読んでたらわかるよね
6.
そんな説明で どう実装すればいいか わからんやん
7.
どう実装するかかんがえましょう ● 再帰関数なら、引数が重要だよね
– どういう引数かがだいじ ● 関数の中身大事だよね – 何するかは説明してもらってるから わかる – どう条件分岐するかとかが大事 – どういう条件分岐かがだいじ
8.
なにをするかわからん? ● クソザコでは? ● まずは頭の中でイメージすること ●
どんな面倒くさい実装も、想像す るとわかったりする ● 想像するときはパソコンから離れ ること
9.
Pairing Heap ●
普通のヒープとは違って、delete-minのときだけ重 い操作をする ● とりあえずdelete-minの擬似コードね def delete-min(Heap X) return pairing(X.children) def pairing(Heaps X) if len(X) <= 1: return X else return merge( merge(X[0], X[1]), pairing(のこり))
10.
やったー擬似コードだ
11.
うつす
12.
_人人人人人人人人_ > 謎のセグフォ <  ̄Y^Y^Y^Y^Y^Y^Y ̄
13.
擬似コードのコピペは控えよう ●
あれは、アルゴリズムを理解するためのもの です ● 動かすためのものではないです ● Cみたいな堅苦しい言語に移すとセグフォしま す ● 自分で設計しなおしましょう ● 設計し直すときはパソコンから離れること
14.
実装なんてこわくない!
15.
俺のコードgithubにあげてるんだ ● 「ちょうど、ぼくも同じ問題を悩ん
でいたんだよ」 ● 「githubにあげてるから参考にし ていいよ」 ● 「ありがとう!みせてもらうよ!」
16.
_人人人人人人_ > よめない <  ̄Y^Y^Y^Y^Y
17.
読めない実装は実装ではない ● あとから、仕様変更できるコードは便利
じゃん ● 人にコード見せて、ハラスメントできます ● きれいなコードが組めればメモ帳でも コーディングできる ● きれいじゃなかったら、あとから大変なこ とになる
18.
どんなコードが読みやすい? ● if文を深くしない
– そのためなら、関数を沢山作るのも 辞さない ● 変数名をわかりやすく、ユニークに – いみわからなかったり、似てるのが 沢山あると読みにくい ● できるだけポインタとアロー演算子を使う – 詳細は後述
19.
構造体 ● 構造体こわい ● ポインタこわい ●
'*'とか'&'とか記号ばっかり、こわい ● new delete なにそれこわい ● とりあえずこわいね
20.
全部ポインタにしちゃいましょう ●
ポインタはいろいろな場面でつかいます ● いっそ、全部ポインタであつかおう – 変数も、引数も全部ポインタ ● 再帰する構造体だとポインタじゃないと組め ない ● 宣言以外で'*'や'&'を使わなくて良い ● 基本的にアロー演算子”->”使えばコンパイ ル通る
21.
詳しくは部誌で
22.
まとめ! ●
実装するものの要点を抑える – 関数の引数、条件分岐の仕方 ● 擬似コードは理解するために使う。写さない – 頭でイメージできるようになるまで、パソコンから離 れてよく考える ● 読みやすいコードになるように設計し直す – 条件分岐が深くならないような実装を考えて覚える – 考えるときはパソコンから離れること ● 構造体はポインタだけで実装する – いろいろあって実装しやすくなる
Descargar ahora