- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
補講:アルゴリズムと漸近的評価 アルゴリズム アルゴリズムと問題 アルゴリズム例1 最大公約数を求める方法(ユークリッドの互除法) アルゴリズムとプログラム アルゴリズムの評価 問題の大きさ アルゴリズムの評価 計算時間と関数 関数の分類(オーダー記法) O記法 O記法 O記法のイメージ O記法の例 O記法の例 O記法の練習 プログラムと漸近的評価 プロうグラムの漸近的評価 プログラムにおける計算時間の漸近評価例 プログラムにおける計算時間の漸近評価例2 プログラムにおける計算時間の漸近評価例3 プログラムにおける計算時間の漸近評価例4 プログラムにおける計算時間の漸近評価例5 プログラムにおける計算時間の漸近評価例6 プログラムにおける計算時間の漸近評価練習1 (1) (2) * 「アルゴリズム」とは「問題」を解くために、 「基本操作」(命令)を有限個組み合わせ てできる手順。 連立方程式を解く 色々な問題 データのソート 最大公約数 命令 四則演算 代入演算 比較演算 2進数への変換 組み合わせ方 アルゴリズム 10進数を2進数に変換する方法 25/2 =12 ???1 12/2 = 6 ???0 6/2 = 3 ???0 3/2 = 1 ???1 1/2 = 0 ???1 25の2進数は? 2で割り算 商 余 2つの自然数m,nの最大公約数を求めるアルゴリズム [step1]:mをnで割って余りをrとする。 [step2]:r=0ならアルゴリズム終了する。このときのnが 最大公約数 [step3]:r?0なら、mにnを代入し、nにrを代入してstep1にもどる。 実行例 m=12 n=8 の最大公約数 12/8=1???4 m=8 n=4 8/4=2 ???0 最大公約数は4 1回前の余り で割り算 余り 次回の値 アルゴリズム例2 アルゴリズム + データ構造 プログラム言語 プログラミング プログラム int gcd(int m, int n){ int r; do { r= m % n; m=n; n=r; }while(r != 0); return m; } ユークリッドの互除法 整数型データ + 同じ問題でも、 その大きさ毎に必要な演算数(総ステップ数、計算時間)は異なる。 n変数の連立方程式 大きさも考えた問題 n桁の足し算 n個のデータに対する、ソート n桁の10進数をmビットの2進数へ変換 通常入力サイズは、n,m等の文字で表します。 n桁の数とm桁の数の最大公約数 アルゴリズムは通常「問題」を解くためのものであり、 どんな大きさでも解けないといけない。 総ステップ数を、入力サイズnの関数T(n)で評価します。 (使用メモリ量を、入力サイズnの関数S(n)で 評価することもあります。) n 1000MIPS(1秒間に10億回の演算可能)の コンピュータで考えてみましょう。 サイズ 関数 1秒 20秒 30秒 40秒 50秒 1分 10秒 10秒 1分40秒 約1日 16分40秒 約2時間47分 0.01秒 1秒 1分40秒 約2時間47分 約11.5日 約3.2年 秒 約 約3京世紀 甚大 甚大 甚大 甚大 対数(時間) 多項式(時間) 指数(時間) 関数の増加傾向により、 関数を大まかに分類したい。 定義 2つの正の値しかもたない数列を とする。 2つの定数 , が存在し、 なる全てのnに対し, ならば、 と書き、 はオーダー と読む。 注意1:O記法では、「=」の左辺と右辺の交換は不可。 とすれば、 に対して、 よって、 に対して、 とすれば、 よって、 注意2:通常O記法では、最も簡単な関数で表す。 とすれば、 に対して、 よって、 に対して、 とする。 なので、 よって、 次の数列の一般項(関数)をO記法で表せ。 プログラム内の加減算は、ある定数 時間以下で実行できる。 プログラム内の乗除算は、ある定数 時間以下で実行できる。 プログラム内の比較は、ある定数 時間以下で実行できる。 プログラム内の代入は、ある定数 時間以下で実行できる。 仮定1 仮定2 仮定3 仮定4 . . . プログラムでは、このように仮定できることが多い。 仮定1-4より、 なる をとると、 プログラム内の4則演算、比較等はある定数時間以下で実行できる。 つよめて プログラム内では、 繰り返し構造、 (再帰関数を含む)関数呼び出し、 以外は定数時間で実行できると仮定できることが多い。 function1()
您可能关注的文档
最近下载
- 传祺-传祺GE3 530-产品使用说明书-传祺GE3 530互联网尊享版-GAH7000BEVH0B-GE3530用户手册20180823.pdf VIP
- 学前儿童卫生与保健.ppt VIP
- OTN技术与烽火OTN解决方案.ppt VIP
- UT报告格式UT(中英).doc VIP
- 青少年运动员科学选材.docx VIP
- 2025年新人教PEP版英语三年级上册 Unit 6 Useful numbers Part A Lets learn & Listen and chant 教学课件.pptx
- 初中几何全等三角形培优系列.pdf
- 有限空间专项施工方案.doc VIP
- 相控阵培训教材(第四版).pdf VIP
- 中长导管临床应用.pptx VIP
原创力文档


文档评论(0)