配列-立命馆大学.PPTVIP

  • 8
  • 0
  • 约1.9千字
  • 约 10页
  • 2018-04-24 发布于天津
  • 举报
配列-立命馆大学

2005年度 データ構造とアルゴリズム 第7回 「基礎的な整列アルゴリズム」 西尾 信彦 nishio@cs.ritsumei.ac.jp 立命館大学情報理工学部 情報システム学科 整列とは 何らかの(全)順序関係が成立するレコード群を,その順序関係に従って並べ換えること 数字の昇順,降順や文字列の辞書順 ここでは,整数データのみによるレコードが n 個あるとき,その整数をキーとして整列させることを考える 単純な整列アルゴリズム 先頭レコードを残りの全てのレコードと順に比べる より小さいレコードを発見したら交換する 結果,先頭に最も小さいレコードが置かれる 残りのレコードに対し,同様のことを繰りかえす. 単純法の計算量 二重のループ 外側は0から N-2 全体で n(n-1)/2 回 比較演算の回数はループの回数と同じ 交換は最悪ループ回数,平均はその半分 O(n2)の計算量 バブルソート 隣りあうレコード同士を比較し逆転していれば交換する このままでは計算量は単純ソートと同じ バブルソートの改良 1 ループの途中で整列が完了していることを感知する 交換が一度も行なわれなければもう整列している 計算量は0.01%程度の改良 バブルソートの改良 2 最後に交換が行なわれた箇所を記憶 それ以降は比較しない 計算量は0.04%程度の改良 単純法の改良:選択整列法 1回のループで交換は1

文档评论(0)

1亿VIP精品文档

相关文档