リファレンス
第3章
線形探索
シグネチャ
def linearSearch[AA >: A](a: Array[AA], key: AA): (Option[AA], Int)
概要
線形探索を行う関数linearSearch()は、ふたつの引数を持ちます。
第一引数aには走査するArrayコレクションを指定し、 第二引数keyには探索対象の値を指定します。
総称型を使っておりますので、配列の中身がInt型でもString型でも走査可能です。
返り値は(探索結果、試行回数)のタプルです。
探索結果はOptionでラップされており、配列内に探索対象があればその値を返しますが、 探索対象がなかった場合にはNoneを返します。
試行回数は探索終了までに再帰を行った回数であり、 計算量の把握をするための値です。
二分探索
シグネチャ
def binarySearch(a: Array[Int], key: Int): (Option[Int], Int)
概要
二分探索を行う関数binarySearch()は、ふたつの引数を持ちます。
第一引数aには走査するArrayコレクションを指定し、 第二引数keyには探索対象の値を指定します。
二分探索はソート済みのコレクションでのみ扱えるアルゴリズムですので、 Int型のArrayのみaの実引数に取ることができます。
同様にkeyにもInt型の値のみが指定できます。
返り値は(探索結果、試行回数)のタプルです。
探索結果はOptionでラップされており、配列内に探索対象があればその値を返しますが、 探索対象がなかった場合にはNoneを返します。
試行回数は探索終了までに再帰を行った回数であり、 計算量の把握をするための値です。
第6章
単純交換ソート(バブルソート)
シグネチャ
def bubbleSort(a: Array[Int]): (Array[Int], Int)
概要
バブルソートを行う関数bubbleSort()は、ただひとつの引数を持ちます。
引数aにはソートを行うArrayコレクションを指定します。
Int型のArrayのみaの実引数に取ることができます。
返り値は(ソート後のコレクション、試行回数)のタプルです。
試行回数はソート終了までに再帰を行った回数であり、 計算量の把握をするための値です。