Submit Search
Upload
ソーティングと貪欲法
•
2 likes
•
7,775 views
京大 マイコンクラブ
Follow
競技プログラミング練習会2014 Normalで使ったスライドです。様々なソーティングアルゴリズムと貪欲法について説明しています。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
AGU SIS2015
OSMデータの品質チェック法
OSMデータの品質チェック法
Misa Nakai
競技プログラミング練習会2014 Normalで使ったスライドです。計算量とオーダーという概念について説明しています。
計算量とオーダー
計算量とオーダー
京大 マイコンクラブ
計算量
計算量
Ken Ogura
2021/10/28の例会講座で使用したスライド (以下リンク) のSS移植版です。(オリジナルの発表から内容を一部修正しています。) https://www.canva.com/design/DAEt-1WzsZI/h85bHwMPQ8oxerFP-S3EDQ/view?utm_content=DAEt-1WzsZI&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton
テキストファイルを読む💪 第1回
テキストファイルを読む💪 第1回
京大 マイコンクラブ
2021/09/26のLT大会で使用したスライド (以下リンク) のSS移植版です。 https://www.canva.com/design/DAEqXneuzGc/bVRBpr16c9lhZ6niQ2PEzQ/view?utm_content=DAEqXneuzGc&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
京大 マイコンクラブ
Common Lispの入門スライド。作成者はCoil
Common Lisp入門
Common Lisp入門
京大 マイコンクラブ
多倍長整数の乗算を高速に行うアルゴリズムを、カラツバ法から始めて、最終的に高速フーリエ変換を用いた乗算に至るまでを解説しました。
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
京大 マイコンクラブ
2018/10/18 KMC例会講座 型無しラムダ計算のインタプリタを実装してみる
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
Recommended
AGU SIS2015
OSMデータの品質チェック法
OSMデータの品質チェック法
Misa Nakai
競技プログラミング練習会2014 Normalで使ったスライドです。計算量とオーダーという概念について説明しています。
計算量とオーダー
計算量とオーダー
京大 マイコンクラブ
計算量
計算量
Ken Ogura
2021/10/28の例会講座で使用したスライド (以下リンク) のSS移植版です。(オリジナルの発表から内容を一部修正しています。) https://www.canva.com/design/DAEt-1WzsZI/h85bHwMPQ8oxerFP-S3EDQ/view?utm_content=DAEt-1WzsZI&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton
テキストファイルを読む💪 第1回
テキストファイルを読む💪 第1回
京大 マイコンクラブ
2021/09/26のLT大会で使用したスライド (以下リンク) のSS移植版です。 https://www.canva.com/design/DAEqXneuzGc/bVRBpr16c9lhZ6niQ2PEzQ/view?utm_content=DAEqXneuzGc&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
京大 マイコンクラブ
Common Lispの入門スライド。作成者はCoil
Common Lisp入門
Common Lisp入門
京大 マイコンクラブ
多倍長整数の乗算を高速に行うアルゴリズムを、カラツバ法から始めて、最終的に高速フーリエ変換を用いた乗算に至るまでを解説しました。
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
京大 マイコンクラブ
2018/10/18 KMC例会講座 型無しラムダ計算のインタプリタを実装してみる
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
Geometry with Unity
Geometry with Unity
Geometry with Unity
京大 マイコンクラブ
セミコロンを使わずにc++を書きたい
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
エンジニアは肩こりや腰痛など様々な体の不調を抱えがち。 ちょっとした工夫でそれらを根本から解消
エンジニアと健康
エンジニアと健康
京大 マイコンクラブ
音声の分析合成と機械学習を使ってボイスチェンジャーを作るスライドです
女の子になれなかった人のために
女の子になれなかった人のために
京大 マイコンクラブ
KMC春合宿で発表した、難解プログラミング言語で競技プログラミングに挑戦するLTです。
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
もし太陽のコアがCPUと同程度の熱密度を持っていたらどうなるか、雑に計算した結果を発表したLTのスライドです
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
京大 マイコンクラブ
Unity や MonoGame など、C# でゲームを作る環境が整ってきた昨今。メモリ?なにそれ美味しいの?という初学者が、難しいことを考えずにモノづくりができる一方で、メモリについて知らないとトラブルになることもあります。C#でゲームプログラムを書いたことがある、くらいの方を対象に、メモリとは何か、から、メモリリーク・ガベージコレクションの話、そしてガベージコレクションの回数を減らす実装方法について話します。
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
GPUを利用して汎用演算を行う技術であるGPGPUを用いて、プログラムを高速化する技法についてまとめました。高速化の具体例も適宜用いて解説しています。 CPU編はこちら https://www.slideshare.net/KMC_JP/ss-45855264
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
関西情報系学生団体交流会2017 Piet勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
2017-09-02 KMC関東例会 at Cybozu インフラの自動化の辛さと ssh について
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
京大 マイコンクラブ
KMCの新入生プロジェクト「DTM練習会2017」の第1.5回にて行った「伴奏の付け方」に関する講座のスライドです。
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
京大 マイコンクラブ
テストプレイを観察するための心得などを紹介します。 KMC春合宿2017で使用したものに加筆修正を加えたもの。
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
KMC春合宿2017で使ったスライドです 「暗号技術入門 第3版 秘密の国のアリス 著:結城 浩」 をまとめたものです
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
ゲームエンジンをお探しのあなたに
Altseed
Altseed
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第3回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
文字コードの基礎を数学っぽい言葉で書こうとした発表です。 なお、「鷗」の字の扱いに関しては誤解がありました(JIS規格にはどうも例外があるらしく、スライドの内容が間違っています)。 直すのが面倒だったので公開してしまいますが、これはあくまで「それっぽい例」であると思ってください(「こころ」を感じてください……)。 (以上 28/09/05 suzusime記す)
文字コード基礎論A
文字コード基礎論A
京大 マイコンクラブ
More Related Content
More from 京大 マイコンクラブ
Geometry with Unity
Geometry with Unity
Geometry with Unity
京大 マイコンクラブ
セミコロンを使わずにc++を書きたい
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
エンジニアは肩こりや腰痛など様々な体の不調を抱えがち。 ちょっとした工夫でそれらを根本から解消
エンジニアと健康
エンジニアと健康
京大 マイコンクラブ
音声の分析合成と機械学習を使ってボイスチェンジャーを作るスライドです
女の子になれなかった人のために
女の子になれなかった人のために
京大 マイコンクラブ
KMC春合宿で発表した、難解プログラミング言語で競技プログラミングに挑戦するLTです。
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
もし太陽のコアがCPUと同程度の熱密度を持っていたらどうなるか、雑に計算した結果を発表したLTのスライドです
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
京大 マイコンクラブ
Unity や MonoGame など、C# でゲームを作る環境が整ってきた昨今。メモリ?なにそれ美味しいの?という初学者が、難しいことを考えずにモノづくりができる一方で、メモリについて知らないとトラブルになることもあります。C#でゲームプログラムを書いたことがある、くらいの方を対象に、メモリとは何か、から、メモリリーク・ガベージコレクションの話、そしてガベージコレクションの回数を減らす実装方法について話します。
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
GPUを利用して汎用演算を行う技術であるGPGPUを用いて、プログラムを高速化する技法についてまとめました。高速化の具体例も適宜用いて解説しています。 CPU編はこちら https://www.slideshare.net/KMC_JP/ss-45855264
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
関西情報系学生団体交流会2017 Piet勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
2017-09-02 KMC関東例会 at Cybozu インフラの自動化の辛さと ssh について
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
京大 マイコンクラブ
KMCの新入生プロジェクト「DTM練習会2017」の第1.5回にて行った「伴奏の付け方」に関する講座のスライドです。
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
京大 マイコンクラブ
テストプレイを観察するための心得などを紹介します。 KMC春合宿2017で使用したものに加筆修正を加えたもの。
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
KMC春合宿2017で使ったスライドです 「暗号技術入門 第3版 秘密の国のアリス 著:結城 浩」 をまとめたものです
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
ゲームエンジンをお探しのあなたに
Altseed
Altseed
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第3回
C#でゲームを作る2016 第3回
京大 マイコンクラブ
KMC’の新入生プロジェクトの一つ「C#でゲームを作る2016」で使ったスライドです。 まとめ記事:http://kmc.hatenablog.jp/entry/2016/11/20/100421
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
文字コードの基礎を数学っぽい言葉で書こうとした発表です。 なお、「鷗」の字の扱いに関しては誤解がありました(JIS規格にはどうも例外があるらしく、スライドの内容が間違っています)。 直すのが面倒だったので公開してしまいますが、これはあくまで「それっぽい例」であると思ってください(「こころ」を感じてください……)。 (以上 28/09/05 suzusime記す)
文字コード基礎論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