リスト構造について
データ処理において、配列は基本的データ構造だが、動的メモリ確保の説明で述べたように、基本の配列では大きさを変更することができない。これ以外にも、配列は途中にデータを挿入・削除を行う場合、の処理時間を伴う。以下にその問題点 […]
遠隔の小テストを実施
遠隔授業の中、自分の担当科目で中間試験(小テスト)を実施した。学校としてはレポート課題で評価していいとの話なのでテスト形式の必要性はないけど、レポート課題方式ばかりだと後々の理解力が心配だし、やってみた。 Teamsでテ […]
遠隔授業6回目の反省
遠隔授業も6回目。Web掲載の講義資料に、Microsoft Edgeのペン書き機能で、図などを交えた説明のスタイルでやってきた。私としては、講義資料のWeb掲載は数年前からやっていたので、黒板がWeb画面になっただけ& […]
様々なデータの覚え方
前回の malloc() + free() の説明では、実例が少なくイメージがわかりにくいので、名前と年齢のデータを覚える場合の様々な方法を議論する。最後に前期中間のプログラム課題を示す。 malloc+freeの振り返 […]
効率のよいメモリ使用と動的メモリ/スタック/malloc+free
次にメモリの利用効率の話について解説する。 配列宣言でサイズは定数 C言語では、配列宣言を行う時は、本来ならば、配列サイズに変数を使うことはできない。 最近のC(C99)では、実は下記のようなものは、裏で後述のalloc […]
ソートのアルゴリズムの分岐点
ソートアルゴリズムの処理時間で、選択法よりクイックソートが有利になる分岐点を求める問題で、 の結果が、N=53.1 になる…との説明が判らないとの質問。# 53.017 が正しいとの結果だったが。 あてずっぽ […]
ソート処理の見積もりとポインタ処理
前回の授業では、再帰処理やソートアルゴリズムの処理時間の見積もりについて説明を行った。 ソート処理の見積もり この際の練習問題の1つめは、「再帰方程式の理解度確認の回答」にて解説を示す。 最後の練習問題はここで説明を行う […]
再帰方程式の理解度確認の解答
再帰呼び出しと再起方程式の資料の中の「理解度確認」の解答 解答 pyraをループで // pyra() をループで書いたら。 int pyra( int x ) { int ans = 0 ; for( int i = […]
再帰呼び出しと再帰方程式
再帰関数と再帰方程式 再帰関数は、自分自身の処理の中に「問題を小さくした」自分自身の呼び出しを含む関数。プログラムには問題が最小となった時の処理があることで、再帰の繰り返しが止まる。 // 階乗 (末尾再帰) int f […]
オーダー記法と再帰処理の導入
先週に、2重の繰り返し処理の時間分析をやったので、次のステップに。 単純forループの分析については、昨年度講義資料を参照。 4/28の講義の質問の回答 2分探索法の処理時間 データを探す処理において、単純検索より速い方 […]