🐕

アルゴリズム入門 その3

2023/12/03に公開

※個人のアウトプットのために記述しています。

データ構造と配列

コンピュータはデータはメモリ蓄えられる。データをメモリに蓄える時、データの順番・位置関係を規定したやつが『データ構造』。
また、配列はデータ構造の一つで、データを一列に並べる。更に、配列は複数のデータをまとめて管理するもの。

※データ構造は他にもリストやハッシュテーブルなどが存在する。

線形探索法

線形探索法は、配列からデータを探索するアルゴリズム。また、最初から順に探していく。
ところで、この場合の探索って? → 多くのデータから特定のデータを探すことを意味する。

🔸イメージ

demo code

algorithm.rb
def linear_search(num, alphabet)
 i = 0
 while i < alphabet.length
  # numの要素5があれば、その時のalphabetの要素を返す 
   if num[i] == 5
     return alphabet[i]
   end
   i += 1
 end
 # 値が見つからなければ[nil]を返すようにする
 return nil
end

num = [1,2,3,4,5,6,7,8,9,10]
alphabet = ["D","M","M","W","E","B","C","A","M","P"]

p linear_search(num, alphabet)   

注意:線形探索法は配列の中身を前から順番に探索していく方法で時間がかかる。

参考資料・記事

  • たのしいRuby
  • アルゴリズム図鑑
  • 現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門
  • アルゴリズム、データ構造の基本(鳥羽眞嘉さん)

Discussion