Skip to content.

kagome.lab.tkikuchi.net

Sections
Personal tools
You are here: Home » Members » tkikuchi's Home » 授業 » アルゴリズムとデータ構造C » データ構造とアルゴリズム
Views

データ構造とアルゴリズム

Document Actions
のイントロダクション

はじめに

  • と、書かないとはじまらない
  • 今年は、ピンチヒッター
  • なので、

成績が悪かったら

  • 来年、じっくり勉強してもらう

というのは冗談?

  • 至らないところがあるかも
  • しれませんが、教科書をよく読んで
  • 理解するようにしてください。

教科書

  • 「データ構造とアルゴリズム」
  • (コロナ社)
  • 電子情報通信学会大学シリーズ

話は飛びますが

  • 私は、なんとなく
  • 「ネットワーク」
  • が、専門です

計算機とネットワークは

  • ソフトが無ければ
  • ただの箱
  • ただの線

ネットワークのソフト

  • 便利にする「データベース」
  • 安全にする「暗号」

データベース

  • 昨年までピンチヒッターで講義した
  • ネットワークのピンチヒッターは
  • 片岡先生(菊地研マスター卒)

データベースに必要なもの

  • データを入れる・整理する
  • 「データ構造」
  • 整理する・検索する
  • 「アルゴリズム」

アルゴリズム

  • 要するに計算方法です
  • データの構造(どう入れるか)が変わると
  • 当然変わります

要するにプログラミング?

  • プログラムにするにはプログラム言語が必要
  • アルゴリズムはプログラムにする手前
  • 流れ図、擬似プログラム言語 が使われる

これを勉強したら

  • プログラムがバンバン書けるようになる?
  • というわけでもない

よいプログラムを書くには

  • よいプログラムを使ってください
  • よいプログラムを読んでください

卒業研究のヒトコマ

  • 100x100 の行列の固有値を求めたのですが、遅いんです。
  • どれどれ、ここんとこは?
  • はい、バブルソートのプログラム組みました
  • qsort() 使いましょうね。

よいプログラムは

  • ライブラリに入っています。
  • man で、qsort, regex, dbm/db を読んでみよう

よいプログラムは

各論のイントロ

  • スタックと待ち行列
  • スタック -> CPU が持ってる
  • 待ち行列 -> たいがいの IO 装置が持ってる
  • 再帰ができるのもスタックのおかげ

文字列照合

  • grep, regex
  • Python ... import re
  • 置き換えもできる ... 文字列処理

    ユーザ環境を作ってあげたり修正してあげたり

    おせっかいができる

木構造

  • データベース

    楽しい「モーニング娘。」で学ぶデータベースは

    昨年で終わり。

グラフ構造

  • インターネットそのもの

    リンクが生み出すグラフ空間

データ整列

  • Python ... sort()
  • ライブラリを使えるようになってください。

データ探索

  • 2分探索
  • ハッシュ
  • 木構造 ... B tree, B+ tree

    BerleleyDB

そして、若きプログラマーは

  • データベース修行の道へ
  • ネットワーク修行も忘れないで。

本日の問題

  • 用紙は縦長で使用
  • 日付、学生番号、氏名を明記
  • あなたは、どんなアルゴリズムに興味がありますか?

    又は、どんな問題についてプログラムを書いてみたいですか?

主な回答

  • 暗号解読
  • Winny
  • 巡回サラリーマン問題(GA)
  • ソート
  • 再帰
Created by tkikuchi
Last modified 2006-06-09 15:25
 

Powered by Plone

This site conforms to the following standards: