Phinlodaのいつか読んだ本

実際に読んでみた本の寸評・奇評(笑)

雑記

今日はちょっと Cracking the Coding Interview を読み始めました。

VI Big O の章はmetrix、計算量がテーマですが、素人にコードを書かせると計算量を全く無視したコードを書いてきて驚くことがありますが、O(n) のような知識は大学に行けば最初に出てくる話です。多分。

ところで、次のコードはこの本に出てくる最小値、最大値を求めるプログラムなのですが、

int min = Integer.MAX_VALUE;
int max = integer MIN_VALUE;
for (int x : array) {
    if (x < min) min = x;
    if (x > max) max = x;
}
(p.41)

 

私ならこうは書きません。次のような感じになると思います。

int min = array[0]
int max = min
for (int x array) {
    if (x < min) min = x
    else if (x > max) max = x
}

インデントとか言語仕様はテキトーですが、古いプログラマーってこういうセコいのが好きなんです。O は変わらないんですけどね。あと、番兵とか使うのも好きです。まだ読み始めたばかりなので分りませんが、後の方で出てくるのでしょうか。

 

Cracking the Coding Interview: 189 Programming Questions and Solutions
Gayle Laakmann Mcdowell 著
Lightning Source Inc; 6版
ISBN: 978-0984782857