Upgrade to Pro — share decks privately, control downloads, hide ads and more …

競プロに出てきそうなアルゴリズム

 競プロに出てきそうなアルゴリズム

More Decks by NearMeの技術発表資料です

Other Decks in Technology

Transcript

  1. 0
    競プロに出てきそうなアルゴリズム
    2022-07-08 第5回NearMe技術勉強会
    Yuki Nonaka

    View full-size slide

  2. 1
    目次
    1. アルゴリズムについて
    2. 計算量について
    1

    View full-size slide

  3. 2
    アルゴリズムとは
    あるタスクを達成するために設計された有限回の計算手順
    例:線形探索、二分探索、ソートなど
    2

    View full-size slide

  4. 3
    アルゴリズムの例
    問題:二次元空間にプロットされた点について、距離が一番短い2点を
    求める
    ・考えつくもの
    for i in range(点の数):
    for j in range(点の数):
    (2点間の距離を求める)
    3

    View full-size slide

  5. 4
    計算量
    与えられたアルゴリズムがどの程度の時間で実行できるのかを半定
    量的に表したもの。(オーダー記法)
    例:O(n),O(n2)
    4

    View full-size slide

  6. 5
    計算量の例1
    ・二次元空間にプロットされた点について、距離が一番短い2点を求め

    分割統治法だとO(nlog(n))
    5
    1 2 3 4 5
    1
    2
    3
    4
    5
    計算量はn2/2
    →O(n2)

    View full-size slide

  7. 6
    計算量の例2
    ・巡回セールスマン問題
    全探索すると計算量はO(n!)
    →いろんな近似解法がある
    多項式時間で計算できるアルゴリズムが
    見つかっていないNP困難問題に属する
    6
    A
    C
    B
    E
    D

    View full-size slide

  8. 7
    参考文献
    ・アルゴリズムとデータ構造
    7

    View full-size slide