• 検索結果がありません。

(この教科書に書いてある)アルゴリ ズムの定義

N/A
N/A
Protected

Academic year: 2021

シェア "(この教科書に書いてある)アルゴリ ズムの定義"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

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

静岡大学工学部 安藤和敏

2006.11.30

http://coconut.sys.eng.shizuoka.ac.jp/algo/06/

(2)

本講義について

• ITコースに進む人は,事実上の必修科目である.こ のほかのコースに進む人にとっては選択である.

「データ構造とアルゴリズム」は計算機科学(あるい はプログラミング)の基礎の一つである.また,情報 処理技術者試験の出題範囲の重要な部分を占めて いる.

http://www.jitec.jp/1_04hanni_sukiru/_index_ha ni_sukil.html

「プログラミング基礎及び演習」の単位を取得してい ることが望ましい.「プログラミング基礎及び演習」の 内容を前提とした内容も一部含まれる.この講義で,

プログラミングの課題を出すことも予定している.

(3)

(この教科書に書いてある)アルゴリ ズムの定義

つまり,アルゴリズムとは 与えられた問題を解く アイデア であって,目に見えないものである.そ れが,文章で記述されていれば,人間はそれを 理解してその問題を解くことができるし,プログラ ムで記述されていれば,コンピュータがその問題 を解いてくれる.

アルゴリズム

与えられた問題の正しい答えを求めるた

めの うまいやり方 であり,一般に文章やプ

ログラミング言語で記述される.

(4)

アルゴリズムみたいなもの

アルゴリズムとは,与えられた問題を解決する ための手順書というべきもの.

NHK教育「ピタゴラスイッチ」と言う番組で「アルゴリ ズム体操」というのがある.

この体操をやっても,何かの問題を解決したことには ならない.単なる手順に従った体操に過ぎない.手 順にしたがった体操という点では「ラジオ体操」も同 じである.ゆえに,「アルゴリズム体操」はアルゴリ ズムではない.

(5)

アルゴリズムみたいなものの例

カレーのアルゴリズム

1.なべにサラダ油を大さじ1杯そそいで熱する.

2.みじん切りにしたたまねぎを炒める.

3.一口サイズに切ったジャガイモとニンジンと肉を炒 める.

4.中火で煮て沸騰したら,アクを取る.

5.中火で材料がやわらかくなるまで煮る.

6.一旦火を止めて,カレーのルーを割りいれる.

7.さらに,10分くらい弱火で煮込む.

問題: カレーを作れ.

(6)

(もっと適切な)アルゴリズムの定義

アルゴリズム

コンピュータ・プログラムに書き直すことに適し た,問題を解くための方法を記述したもの.

カレーのレシピを読んでも,作る人によってち

がうものが出来てしまう.そもそも,レシピは

コンピュータ・プログラムに書き直すことには

適していない.

(7)

アルゴリズムの例(1)

問題1.1

n桁の整数が与えられた場合に,その整数が3の 倍数であるかどうか答えよ.

単純なアルゴリズム

与えられたn桁の整数を3で割り算して,余りが0な らば3の倍数であると答える.(余りが0でないとき は3の倍数ではない.)

例題

:1893206753214

(8)

アルゴリズムの例(1)

アルゴリズム

1.1

入力

: n

桁の整数

アルゴリズム

:

与えられた整数の各桁の和 が

3

で割りきれるならば,その整数は3の倍 数であると答える.

例題

:1893206753214

1+8+9+3+2+0+6+7+5+3+2+1+4=51

51

は3で割り切れるので

1893206753214

は3の倍数.

(9)

アルゴリズムの例(2)

単純なアルゴリズム

2つの整数をそれぞれ因数分解する.

最大の共通因数が答えである.

問題:与えたれた2つの整数の最大公約数と 求めよ.

例題

: 840

396

(10)

アルゴリズムの例(2)

アルゴリズム(ユークリッドの互除法)

入力:2つの整数x,y アルゴリズム

1.2つの整数のうち,小さい方を y とし,大きいほうを x とす る.

2.y 0 ならば,終了.答えは,x である.そうでなければ,

次の3に進む.

3.x y を代入して,y x y で割った余りを 代入する.

4.2へ戻る.

問題:与えたれた2つの整数の最大公約数と

求めよ.

(11)

教科書と参考書など

・ 教科書

藤原暁宏「アルゴリズムとデータ構造」森北出版,

2006年. ←生協北館2階で販売中.

・ 参考書

岡田稔「Cによるプログラミング演習」近代科学社,  1993年. ←「プログラミング基礎及び演習」の教科書

本講義のWebページ

http://coconut.sys.eng.shizuoka.ac.jp/algo/06/

に講義資料などを置いておきます.

(12)

この講義の履修に関する注意

出席は取らない.ただし,指名して答えてもら うことがある.あるいは,小テストまたはレ

ポート課題を

1

週間に1回のペースでやる予 定.

私語禁止(真面目に講義を聞いている人の邪 魔をしてはいけない.退室を命ずる.減点の 対象するので名前を教えてもらう.)

爆睡,内職禁止(講義に出る意味がないし,

教員に対して失礼.減点の対象とするので,

名前を教えてもらう.)

教科書を次回は持参してくること.

参照

関連したドキュメント

問についてだが︑この間いに直接に答える前に確認しなけれ

身体主義にもとづく,主格の認知意味論 69

式目おいて「清十即ついぜん」は伝統的な流れの中にあり、その ㈲

バックスイングの小さい ことはミートの不安がある からで初心者の時には小さ い。その構えもスマッシュ

そればかりか,チューリング機械の能力を超える現実的な計算の仕組は,今日に至るま

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

   遠くに住んでいる、家に入られることに抵抗感があるなどの 療養中の子どもへの直接支援の難しさを、 IT という手段を使えば

自然言語というのは、生得 な文法 があるということです。 生まれつき に、人 に わっている 力を って乳幼児が獲得できる言語だという え です。 語の それ自 も、 から