新人技術者のためのロジカル・シンキング入門(2) ―― プログラミングにおける良いデータ構造

冴木元

tag: 組み込み

技術解説 2008年3月 5日

【4】アカデミックな知識について

 ここで,ソフトウェア工学でいうところの本来(?)のデータ構造の議論についてひと言.大きな書店の情報科学のコーナを訪れると,「データ構造うんぬん」という題名の書物がいろいろと並んでいます.筆者はコンピュータ・アルゴリズムの専門家ではありませんから,そのすべてに精通しているわけではありませんが,実装において不可欠と思われるデータ構造の検討方法が書かれている本はあまりないように思います(そもそも,アルゴリズムの専門家とは関心分野が違うのだから,筋違いな要求だと言われればそれまでだが...).

● 力点はシステムによって異なる

 本稿で紹介したようなデータ構造の管理方針を読んで,「ずいぶん変わったやりかただな」と感じられた方もいるかもしれません.ここで紹介した管理方針はあくまでも1例なので,読者のみなさんが開発を行う際には自分のシステムに合ったデータ構造を考えるようにしてください.自分のシステム設計のデータ構造を決める場合,まず実現しようとするアルゴリズムや機能などがどのような性質のデータを必要としているのかを十分に考察してから始めていただきたいと思います.

 例えば,組み込みシステムのプログラムであっても,メモリ量を十分にとれるシステムもあります.そのような場合,ローカル変数によるスタック・オーバフローを心配する必要はありません.

 また,スタティック・データの領域確保は,本稿のように呼び出し元で最初に確保しないという設計もありえます.例えば,ライブラリの中の初期化処理において,最初に領域を必要なオブジェクトの数だけ確保しておき,終了処理で削除する方法などが考えられます.

 要するに,システムによってデータ構造設計時の力点の置きかたやテスト方法は異なります.みなさんのシステムに適したデータ構造を考える際には,ここで紹介したような管理方針の趣旨をよく理解したうえで,自分のシステムに合ったデータ構造を確立してみてください.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日