酒居敬一(sakai.keiichi@kochi-tech.ac.jp) アルゴリズムとデータ構造1 2005年6月10日 酒居敬一(sakai.keiichi@kochi-tech.ac.jp) http://www.info.kochi-tech.ac.jp/k1sakai/Lecture/ALG2005/index.html.

Slides:



Advertisements
Similar presentations
専門教科「情報」(2) 6/1/07. 各科目(続き) 課題研究 課題研究(1) 目標 情報に関する課題を設定し,その課題の解決 を図る学習を通して,専門的な知識と技術の 深化,総合化を図るとともに,問題解決の能 力や自発的,創造的な学習態度を育てる.
Advertisements

身の回りの IT 情報科教育法 後期 10 回 2004/12/18 太田 剛. 目次 1. 最終提出の確認 2. ルータの説明 ( 先週の続き ) 3. 身の回りの IT 1/8 の授業は情報科教員の試験対策です。
エンジニアのためのリテラシー 学生番号順に着席する (クラスa) 1 列 12 人で 前 方
寺尾 敦 青山学院大学社会情報学部 atsushi [at] si.aoyama.ac.jp
情報処理Ⅱ 第1回 2006年10月6日(金).
アルゴリズムとデータ構造1 2009年6月8日
アルゴリズムとデータ構造 第2回 線形リスト(復習).
基本情報技術概論 I 演習(第5回) 埼玉大学 理工学研究科 堀山 貴史
データ構造とアルゴリズム 平成20年度 前期 2年生必修  水曜日 3-4時限.
C言語システムプログラミング クラス分け 1の人:紫合クラス(302教室) 学籍番号を3で割った余りが、 0の人:冬爪クラス(208教室)
大学入門講座の 実施に向けて ●桑折範彦   
2012年度 コンピュータ応用B (旧コンピュータ基礎D) ガイダンス
Java I 第2回 (4/18)
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
社会基盤保全工学 ガイダンス コンクリート工学研究室 岩城 一郎.
オペレーティングシステムJ/K 2004年10月7日
VBA(Visual Basic Application)を使ったプログラミングの初歩概説
このPowerPointファイルは、 情報処理演習用に作った フィクションです。
経済情報処理ガイダンス 神奈川大学 経済学部.
構造材料学の 開講にあたって コンクリート工学研究室 岩城 一郎.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
オペレーティングシステムJ/K 2004年11月4日
情報科学1(G1) 2016年度.
数理論理学 第1回 茨城大学工学部情報工学科 佐々木 稔.
2010年度 コンピュータリテラシー クラス:  B1 講義日: 前学期 月曜日7時限.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
プログラミング言語論 プログラミング言語論 ガイダンス 水野 嘉明 ガイダンス 1 1.
オブジェクト プログラミング 第1回.
アルゴリズム入門.
コンピュータ リテラシー 担当教官  河中.
アルゴリズムとデータ構造 2013年6月10日
続・WebApplication研究 2001年度秋学期大岩研究会2 第一回 ~紹介~.
データ構造とアルゴリズム論 第9章 木構造 平成17年12月20日 森田 彦.
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
マーケティング・マネジメント ウィラワン・ドニ・ダハナ 火曜日2時限.
アルゴリズムとデータ構造1 2005年7月26日
アルゴリズムとデータ構造1 2006年6月16日
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
構造材料学の開講にあたって コンクリート工学研究室 岩城 一郎.
データ構造とアルゴリズム論 第1章 アルゴリズムの表現-流れ図
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
社会基盤保全工学 ガイダンス コンクリート工学研究室 岩城 一郎.
データ構造とアルゴリズム論 第9章 木構造 平成29年12月20日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成30年6月27日 森田 彦.
コンクリート構造学及び演習  ガイダンス 子田 康弘.
TA (teaching assistant) :尾関 伸之
復習その1+α JBuilderの使い方を思い出す。 配列とGUI
復習+α JBuilderの使い方を思い出す。 配列とGUI 再帰とマージソート 木と二分木の探索
ガイダンス 情報システム管理 ガイダンス 水野 嘉明 情報システム管理 1.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
コンクリート構造学及び演習  ガイダンス コンクリート工学研究室 岩城 一郎.
経済情報処理ガイダンス 神奈川大学 経済学部.
コンパイラ 2012年10月1日
コンクリート工学研究室 岩城一郎・子田康弘
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
ガイダンス 電子計算機 電気工学科 山本昌志 1E
オペレーティングシステムJ/K 2004年10月4日
オペレーティングシステムJ/K (管理のためのデータ構造)
リレーショナル・データベース J2EE I (データベース論) 第2回 /
アルゴリズムとデータ構造1 2009年6月15日
Netscape Communicator Eudora Microsoft Word
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
情報数学5,6 (コンピュータおよび情報処理) 講義内容
データ構造とアルゴリズム論 第9章 連結リスト
アルゴリズムとデータ構造 2010年6月17日
計算の理論 I -講義について+αー 火曜3校時 大月美佳 平成31年8月23日 佐賀大学理工学部知能情報システム学科.
C#プログラミング実習 第1回.
Presentation transcript:

酒居敬一(sakai.keiichi@kochi-tech.ac.jp) アルゴリズムとデータ構造1 2005年6月10日 酒居敬一(sakai.keiichi@kochi-tech.ac.jp) http://www.info.kochi-tech.ac.jp/k1sakai/Lecture/ALG2005/index.html

連絡先 酒居 TA(福家君) 居室: A468 メイル: sakai.keiichi@kochi-tech.ac.jp メイル: fuk@kikuken.org

テキスト    『アルゴリズムとデータ構造』, 石畑清著(岩波書店) 参考書    『Javaで学ぶアルゴリズムとデータ構造』, Robert Lafore著,岩谷宏訳(ソフトバンク) 『Javaによるプログラミング入門』, 権藤克彦著(サイエンス社,2000) 『Javaによるオブジェクト指向プログラミング入門』, 越田一郎(培風館) 『プログラミング作法』, Brian Kernighan, Rob Pike著(アスキー)

講義計画 アルゴリズムとデータ構造入門 アルゴリズムとデータ構造基礎 [演習1]アルゴリズムとデータ構造の概念,オブジェクト指向の概念 アルゴリズムとデータ構造概要1 アルゴリズムとデータ構造概要2 配列 [演習2] 配列のような基本的なデータ構造 スタック 待ち行列 連結リスト [中間試験] データ構造やアルゴリズムや計算量の概念,線形なデータ構造とアルゴリズム 二分木 ハッシュ ソート [演習3] 二分木,ハッシュ 探索 再帰的アルゴリズム くり返し処理と再帰的処理 [演習4] 全体の復習,検索や再帰 [クォータ末試験](7月30日の予定)

教科書(岩波のやつ)を必ず持ってくること。 専門科目演習日程 場所はA101 火曜か金曜の5時限目 演習日(予定) 6月14日、6月24日、7月5日、7月15日、7月26日 教科書(岩波のやつ)を必ず持ってくること。

成績評価 計100点.60点以上を合格とする. 試験や演習で持ち込めるもの 再試験はしない. 演習課題40点(各10点×4回) (演習の1回を充てる)中間試験30点 クォータ末試験30点 試験や演習で持ち込めるもの 教科書・ノート・配布資料 再試験はしない.

本講義の位置づけ 計算機言語(第1と第2)、情報システム工学実験1 情報システム工学実験2 表面的には書き方(コーディング)の演習 背景には表現方法としてのプログラミング言語を習得 情報システム工学実験2 コーディングだけではやっていけない なぜか? 本授業で説明

プログラムとは? アルゴリズムとデータ構造を表現したもの 表現方法にはいっぱいある 構造体やレコードといったデータ構造 プログラミング言語の数だけ 構造体やレコードといったデータ構造 条件文や繰り返し文といった制御構造

アルゴリズムとデータ構造入門 アルゴリズムとデータ構造の役割 なぜ、アルゴリズムとデータ構造について学習するのか データとは? 処理とは? 構造とは? なぜ、アルゴリズムとデータ構造について学習するのか

データとは? 現象や性質を何らかの枠組みに従って形式化したもの 身長、体重、座高、視力 家族構成、居住地、居住形態 CDに記録されている音

処理とは? 物事をさばいて始末をつけること。 対象を分析する 準備する 仕事する 後片付けする 「段取り八分仕事二分」 スケジュールをたてる、データを整理する、など 仕事する 決められた手順でこなす 後片付けする 「段取り八分仕事二分」

構造とは? 全体を形づくっている種々の材料による各部分の組み合わせ。作りや仕組み。 さまざまな要素が相互に関連し合って作り上げている総体。また、各要素の相互関係。 階層的な構造 わかりやすい文書やプログラム

データ構造 ひとつまたは複数のデータを編成し保持する構造のこと データ構造どうしは関連している 例:このppt原稿(?) タイトル(アルゴリズムとデータ構造1) 見出し 箇条書きの内容

アルゴリズム アルゴリズムは必ず問題を解決するもの ひとつまたは複数のデータを操作し目的の結果を得るための一連の処理手順 いつかは停止しないといけない ひとつまたは複数のデータを操作し目的の結果を得るための一連の処理手順 例: 交差点を渡りたい(=問題) 信号があるか? 信号がないならば、どうするか?

なぜ学習するか? すばやくコーディングするため 美しいコードを書くため わかりやすいコードにするため どのように表現するか、どのように処理し目的を達成するか、を理解する

すばやくコーディングする よくしられたものを使う 全体をよく考えて、よく知られたものが使えるようにする さがせばどこかに実装が存在する あるものを使えばデバグの手間がはぶける 全体をよく考えて、よく知られたものが使えるようにする そのために勉強する!

美しいコード 洗練されたコードは美しい コーディング規則の外側に美しさがある 適切なアルゴリズム 適切なデータ構造 人間が読み書きするものであることを肝に銘じて きちゃないコードは読む気がするか?

わかりやすいコード 構造がわかりやすい 構造がプログラミング言語の自然なデータ型や制御文に合っている プログラムの共有ができる よくしられたデータ構造 よくしられたアルゴリズム これらの再帰的な組み合わせ 構造がプログラミング言語の自然なデータ型や制御文に合っている プログラムの共有ができる 3日後の自分は他人と同じ