リファレンス

第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の実引数に取ることができます。

返り値は(ソート後のコレクション、試行回数)のタプルです。

試行回数はソート終了までに再帰を行った回数であり、 計算量の把握をするための値です。