計算量とオーダー
Upcoming SlideShare
Loading in...5
×
 

計算量とオーダー

on

  • 789 views

競技プログラミング練習会2014 Normalで使ったスライドです。計算量とオーダーという概念について説明しています。

競技プログラミング練習会2014 Normalで使ったスライドです。計算量とオーダーという概念について説明しています。

Statistics

Views

Total Views
789
Views on SlideShare
779
Embed Views
10

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 10

http://www.slideee.com 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

計算量とオーダー 計算量とオーダー Presentation Transcript

  • 計算量とオーダー
  • 計算量 ●アルゴリズムが計算を行うときに必要になる、 計算資源の量 ●計算にかかる時間を時間計算量 ●計算に必要な記憶領域の量を空間計算量 ●普通計算量という時は時間計算量を指す
  • 計算量 ●計算量は入力に依存する ●例)一つの数を取って、その素因数を答える問題 ●1桁の数より100桁の数の方が時間がかかりそう ●計算量 を入力の大きさ の函数  で表すT n f (n) 1 2 3 4 5 6 7 8 9 10 0 50 100 150 200 250 計算量
  • オーダー ●アルゴリズム同士を比較したい ●どちらが良いアルゴリズムか? ●入力サイズが大きいときの違いで比べたい ●入力が小さい時はどちらにせよ一瞬で終わる ●細かな違いを無視して大まかな比較をしたい ●オーダーの考え方を用いる
  • オーダー ●ある定数 があって、  と  の間に という関係が成り立つとき、 と書く。 f (n)k g(n) f (n)≤k×g(n) f (n)=O(g(n))またはf (n)∈O(g(n))
  • オーダー ●イメージ 1 2 3 4 5 6 7 8 9 10 0 50 100 150 200 250 300 350 f(n) g(n) k*g(n)
  • オーダー ●代表的なオーダー ●   定数時間 ●     対数時間 ●   線形時間 ●   多項式時間 ●   指数時間 ●   階乗時間 O(1) O(log(n)) O(n) O(nc ) O(cn ) O(n!)
  • オーダー ●競技プログラミングでは大まかな計算時間を見 積もるために使うことが多い ●1秒間にできる処理は多くて1億回程度 ●処理の内容により変わってくる ●O記号の中に入っている変数に、具体的な数値 を入れてみて大丈夫そうかを確かめる