データ構造とプログラミング(放送大学教材)の正誤
前の「データ構造とプログラミング」の記事に書いたけど、このテキストにいくつかの誤りと思われる点があった。そしてそれを質問していたが、やはりそれが誤りだと返事があったのでまとめておく。
細かいところなので、このテキストを読んでいない人には全く価値のない記事。質問から一部を変更とかなり細かい不要な箇所は削除している。
- 作者: 鈴木一史
- 出版社/メーカー: 放送大学教育振興会
- 発売日: 2013/03/01
- メディア: 単行本
- この商品を含むブログを見る
まず、誤りはこの2つ。
P20(下部テキスト).
「whileの後に続く括弧内が条件文となっており、この条件文が条件を満たすまで処理を続け、条件が満たされると繰り返し処理が終了する。」
これは、「この条件文を満たす間処理を続け、条件が満たされなくなると繰替えし処理が終了する。」の誤り。
P81(3段落目).
「図5-10(右)のように、子が空(NULL)となっているノードにも、子ノードにつながる点線で示したようなエッジがあると考え、」
P83(図5-10).の右図には点線で示された部位がない。左図と比べて右図に増えているエッジが点線の部分になる。
そして、ここからが誤りではあるが説明として支障がない部分とわかりづらい点。
1. P16.P17等、初期のサンプル
printfにて"\n"を最初に出力しているため出力の最初に改行が入るが、出力結果にそれが反映されていない。P28(リスト2-2)や一部のサンプルのみこれが反映されている。
main関数の引数として使われていないコマンド引数を受け取っているが、それらは使われておらず、初期サンプル以外では多くがvoidとされている。
2. P18(リスト1-3).P19(リスト1-5).P28(リスト2-2)等
他のサンプルでは出力結果としてコードの実行コマンドは表示されていないが、このサンプルに限りコマンドの実行が表示されている。scanfを使っているためということのようだが、実行後の「$」はリスト1-3にのみ表示されており、こちらも統一感がない。
また上の通り、リスト1-3のサンプルについては入力と出力の間の改行が表示されているにも関わらず、リスト1-5については入力と出力間の改行が表示されていない。
3. P19(リスト1-5)等、これ以後のサンプルのいくつか
stdlibの機能が使われていないにも関わらず、不要なライブラリがincludeされている。
4. P16(リスト1-1).
typedefにより構造体を命名しているにも関わらずその名前が利用されていない。
5. P27(リスト27)等、以後のサンプル
これ以後のサンプルにはヘッダにコンパイルオプションの記載があるが、gccの引数に「-lm」と付いているにも関わらず「math.h」を読み込んでいないため不要。
P166(中頃).
「まず、配列AとBの最初の要素を比較し、小さい方の要素を取り出して配列Cの最後に追加する。」
こちらは「配列Cの最後」ではなく、「配列Cの最初」になる。配列Cにスタックしていくという意味では「最後」が正しいが、「配列AとBの最初の要素を比較し」となっているから、この場合に限り「最初」がわかりやすい。
こんな感じ。プログラムコードについてはまだまだかなりツッコミどころはあるが揚げ足取りみたいになるので無視した。
- 出版社/メーカー: 角川アスキー総合研究所
- 発売日: 2014/04/10
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
- 作者: 紀平拓男,春日伸弥
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2011/03/26
- メディア: 単行本
- 購入: 15人 クリック: 255回
- この商品を含むブログ (31件) を見る
プログラミングに活かすデータ構造とアルゴリズムの基礎知識 (UNIX MAGAZINE LIBRARY)
- 作者: 今泉貴史
- 出版社/メーカー: アスキー
- 発売日: 2004/03/01
- メディア: 単行本
- 購入: 1人 クリック: 7回
- この商品を含むブログ (4件) を見る
コンピュータはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識
- 作者: 矢沢久雄
- 出版社/メーカー: 日経BP社
- 発売日: 2013/11/20
- メディア: Kindle版
- この商品を含むブログ (2件) を見る