Submit Search
Upload
ソーティングと貪欲法
•
2 likes
•
7,767 views
京大 マイコンクラブ
Follow
競技プログラミング練習会2014 Normalで使ったスライドです。様々なソーティングアルゴリズムと貪欲法について説明しています。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
OSMデータの品質チェック法
OSMデータの品質チェック法
Misa Nakai
計算量とオーダー
計算量とオーダー
京大 マイコンクラブ
計算量
計算量
Ken Ogura
テキストファイルを読む💪 第1回
テキストファイルを読む💪 第1回
京大 マイコンクラブ
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
京大 マイコンクラブ
Common Lisp入門
Common Lisp入門
京大 マイコンクラブ
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
京大 マイコンクラブ
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
Recommended
OSMデータの品質チェック法
OSMデータの品質チェック法
Misa Nakai
計算量とオーダー
計算量とオーダー
京大 マイコンクラブ
計算量
計算量
Ken Ogura
テキストファイルを読む💪 第1回
テキストファイルを読む💪 第1回
京大 マイコンクラブ
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
京大 マイコンクラブ
Common Lisp入門
Common Lisp入門
京大 マイコンクラブ
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
京大 マイコンクラブ
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
Geometry with Unity
Geometry with Unity
京大 マイコンクラブ
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
エンジニアと健康
エンジニアと健康
京大 マイコンクラブ
女の子になれなかった人のために
女の子になれなかった人のために
京大 マイコンクラブ
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
京大 マイコンクラブ
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
京大 マイコンクラブ
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
京大 マイコンクラブ
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
Altseed
Altseed
京大 マイコンクラブ
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
京大 マイコンクラブ
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
京大 マイコンクラブ
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第3回
京大 マイコンクラブ
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
文字コード基礎論A
文字コード基礎論A
京大 マイコンクラブ
More Related Content
More from 京大 マイコンクラブ
Geometry with Unity
Geometry with Unity
京大 マイコンクラブ
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
エンジニアと健康
エンジニアと健康
京大 マイコンクラブ
女の子になれなかった人のために
女の子になれなかった人のために
京大 マイコンクラブ
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
京大 マイコンクラブ
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
京大 マイコンクラブ
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
京大 マイコンクラブ
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
Altseed
Altseed
京大 マイコンクラブ
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
京大 マイコンクラブ
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
京大 マイコンクラブ
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第3回
京大 マイコンクラブ
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
文字コード基礎論A
文字コード基礎論A
京大 マイコンクラブ
More from 京大 マイコンクラブ
(20)
Geometry with Unity
Geometry with Unity
セミコロンレスc++
セミコロンレスc++
エンジニアと健康
エンジニアと健康
女の子になれなかった人のために
女の子になれなかった人のために
Pietで競プロしよう
Pietで競プロしよう
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
Altseed
Altseed
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
文字コード基礎論A
文字コード基礎論A
ソーティングと貪欲法
1.
ソーティングと貪欲法
2.
ソーティング ●データを規則に従って並べ替えること 23 51 35
92 62 81 36 53 68 31 23 31 35 36 51 53 62 68 81 92
3.
ソーティング ●様々なアルゴリズムがある ●バブルソート ●選択ソート ●挿入ソート ●マージソート ●クイックソート などなど…
4.
バブルソート ●隣の要素と比較して、大小関係が正しくなかっ たら入れ替える、ということをくりかえす ●計算量 ●平均 ●最悪 O(n2 ) O(n2 )
5.
選択ソート ●まだソートしていない部分から最小値を取って きてソートした部分に追加する、ということを くりかえす ●計算量 ●平均 ●最悪 O(n2 ) O(n2 )
6.
挿入ソート ●まだソートしていない部分の先頭の値をソート 済みの部分の適切な場所に挿入する、というこ とをくりかえす ●計算量 ●平均 ●最悪 ● が小さい時は非常に高速なのでよく使われる O(n2 ) O(n2 ) n
7.
マージソート ●配列を前後2分割して、それぞれを再帰的に マージソートしたあと、2つのソート済み配列 をマージする ●計算量 ●平均 ●最悪 O(nlog(n)) O(nlog(n))
8.
クイックソート ●適当な要素を基準値として、それより小さいも のを配列の前の方に、大きいものを後ろの方に 動かし、前の方、後ろの方で再帰的にクイック ソートする ●計算量 ●平均 ●最悪 ●平均的にはマージソートより定数倍速い O(n2 ) O(nlog(n))
9.
ボゴソート ●ネタソートアルゴリズム ●ソートができるまで配列をシャッフルし続ける ●計算量 ●平均 ●最悪 ● ぐらいまでしか間に合わない O(n×n!) O(∞) n=10
10.
競技プログラミングでのソート ●大抵の言語には標準ライブラリにソートがある ●C++: std::sort, C:
qsort ●使い方はググってください ●実際速い ●ソートアルゴリズムについての知識が役に立つ 問題が出ることがある ●ソートアルゴリズムを知っておいて損はない
11.
貪欲法 ●その時々で最善と思われる選択肢を選ぶ方法 ●「有利さ」で降順にソートして先頭から選ぶ ●適用できる問題とできない問題がある ●ナップサック問題は貪欲法ではうまく行かない
12.
貪欲法 ● 円を1円玉、5円玉、…、500円玉でぴったり 払うとき、必要な硬貨の最小枚数は何枚? ●大きい硬貨から順に使えるだけ使っていく ●100円玉を5枚使うより500円玉を使った方がいい n 例) 977 =
500×1 + 100×4 + 50×1 + 10×2 + 5×1 + 1×2 11枚
13.
貪欲法がうまく行かない例 ● 円を 円玉、 円玉、…、 円玉でぴったり 払うとき、必要な硬貨の最小枚数は何枚? ●大きい硬貨から払って行くとうまく行かない ●動的計画法で解く n a1 a2
am 例) n=15,a1=10,a2=7,a3=1 15 = 10×1 + 1×5 6枚 15 = 7×2 + 1×1 3枚
Download now