理論計算機科学教科書

数学的基礎から最先端研究まで

理論計算機科学の包括的な教科書。数学的基礎から最先端の研究トピックまで、体系的に学習できるように構成。140以上の図表、豊富な練習問題、実装例、実世界での応用事例を含む。

理論計算機科学教科書 - 章末問題解答集

第1章 理論計算機科学への招待 - 解答例

基礎問題

問題1: 以下のアルゴリズムの時間計算量を求めよ

(a) 配列の要素をすべて0で初期化

for i in range(n):
    array[i] = 0

解答

(b) 二重ループによる行列の初期化

for i in range(n):
    for j in range(n):
        matrix[i][j] = 0

解答

(c) 二分探索

def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return -1

解答

問題2: 以下の漸近記法の関係を判定せよ

(a) n² + 3n + 1 と O(n²) の関係

解答