Abstract
概要
「データ構造やアルゴリズム、計算量について知っておく事は、プログラマにとって、とても大切なことです」といろんなところで言われています。一方で「そんなの知らなくっても降ってくるお仕事は片付けられるもんねー」というのも、まあ、たしかにそうですね、という感じがします。でも、データ構造と計算量のことを知らないでいると、カジュアルに下手なインデックスを貼ってしまったり、単純な集計のはずなのに6時間動き続けて返ってこない……のようなスクリプトを書いてしまったりすることがあるので、やっぱり、プログラマにとってデータ構造やアルゴリズム、計算量の基本を知っているというのは、とても大切なことなんじゃないかな、とわたしは思っています。少なくとも、「計算機の気持ちになってコードを読み書きする」ときの助けになることはたしかです。
でも、やっぱり計算量の話とかって、とっつきづらいですよね。「でもさー。わたし、文系なんだよね。なんか計算量がどうこうとかいうひとたちって数式でしゃべるじゃん。log とか? アクセスログかよって思う。日本語でしゃべれって感じだよね」みたいな。わたしも文系卒なので、そんな気持ちはよくわかります。というか、わたしはそう思っていました。この発表は、そんなひとたち(つまり、昔の自分)がなるべく苦痛を感じないようにデータ構造と計算量に触れ、その後の独学独習の助けになるような基礎的な知識をつけてもらうことがゴールです。
C言語による解説が一部入るかもしれませんが、多くのサンプルコードはPerlで記述する予定なので、C言語に苦手意識のある方でも楽しんで聴いていただけるのではないかと思います。
アジェンダ(仮)
- データ構造について学ぶ前の基礎知識
- 配列
- 単方向連結リスト
- オーダー法について
- 2分木
- B木
- B+木
以上のデータ構造について見ていきながら、時間計算量について、なるべく平易に、しかし嘘をつかないように、実際の事例を交えながら学んでいきます。
対象となる方
- コードを書くことはできるけど、「このデータはメモリにどう展開されるから〜」とか言われるととたんに置いていかれるひと
- アルゴリズムやデータ構造などに対して苦手意識が強い
対象とならない方
- 上記のデータ構造をすでに理解できているひと
Talk Details
Venue | トラックC (703) |
---|---|
Starts On | 2015-08-21 14:20:00 | -pc.html
Talk Category | Others |
Language | Japanese |
Interpretation (En→Ja) | NO |
Slide Subtitles | Japanese |
Talk Duration | 60 minutes |
Material (Difficulty) Level | Beginner |
May we take your photo? | allow |
May we record your talk? | allow |