20182328 2019-2020-1「データ構造とオブジェクト指向プログラミング、」学習要約の7週目
コンテンツの概要を学びます
第12章
- 1、アルゴリズム解析の概念。
- 2、成長関数と表現の重要性の概念。
- 3、アルゴリズムの成長段階の概念と機能の関係。
- 4、より多くの成長関数。
- 5、解析アルゴリズムの複雑さは、実装サイクルの分析が必要です。
- 6再帰的手続きの分析。
第14章:
- 1、関連する概念の分類とセットと要素間の関係のコレクション。
- 図2に示すように、具体的な実施例の組の定義---スタックと関連する操作、例えば、追加、削除、表示、または空のセット等の数が決定されます。
- 図3は、(1)三重セットの多重継承によって作成された
(2)任意のオブジェクトセットの一般的なストレージに安全かつ有効に使用することができる
(3)ADTスタックの、特別なインターフェースのJava - 図4は、後置表現スタックを計算するために使用されます。
- 5、異常なコレクション
- 図6に示すように、スタックは、アレイを使用することにより達成される
(1)オブジェクトの配列を作成する方法
(2)ArrayStackクラスといくつかの具体的な動作を達成しました - 7、基本的な鎖状構造の定義とどのように連鎖構造を作成します
- 8、どのようにスタック操作にリストを使用するには
- チェーンがスタックを実現する方法9、
LinkedStackクラスは、スタック達成するための重要な方法である
プッシュ操作と
ポップ操作を - スタックを実装するクラスを使用する方法10、java.util.Stackを
- 関連のプレゼンテーションを含め11、。
第15章
- 関連概念およびキュー要素の取り扱い
- いくつかの方法は、k値を符号化する、キューイングプロパティを使用し、アナログチケットカウンタ
- キューにリストを使用する方法
アレイベースのキューを実装する方法
教科書の学習と問題解決のプロセス
- 質問1:2つのリンクリストと配列との間で同じ差異
- 問題解決策1:
種々 :各ノードのリストは、相対的な位置関係を固定していない間、メモリアレイは、一般的な、不連続な記憶では、配列に格納されている
だけのポインタを変更し、非常に簡単で、任意の位置の途中に要素を追加および削除リスト、すなわちであるが、要素を見つけることは困難であることができ、配列の要素を見つけることは比較的簡単であるが、比較的複雑な挿入および欠失を
同じ2つの構造体が順次格納されたデータを実現することができ、モデルは線形構造を構築しました。 - 質問2:メリットは何のJavaジェネリック?役割とは何ですか?
- 問題2ソリューション:
1、コンパイル時の型チェックで型の安全性は、オブジェクトがスローされた例外の種類と一致しないため、実行時間を短縮することができます
2を、強制転換を排除し、パフォーマンスとコードの再利用性を向上します。 - 質問3:キューとの違いは何ですかスタック?
質問3つの解決策:
別の挿入や操作定義されたルールを削除、挿入をスタックして最初のルールで最後ですすべて同じエンドポイントリニアテーブルを削除し、高度なルールでのみリニアメートルのキュー表の挿入、先入れ先出し
プロセスで解決コードのデバッグおよび問題
- 質問1:どのようにのtoStringメソッドを達成するには?
- 問題1つのソリューション:
アレイ:整数の変数の末尾に先頭から整数の変数の出力を開始します。
リスト:リストの末尾に先頭から出力を開始します。
[マネージドコード(https://gitee.com/zhang_jinghao/godzilla.git)
先週試験間違った質問の概要
ノー
ペアピアレビューと
採点
- 16点:スコアに基づいて、私はこのブログの得点を与えます。次のようにスコアは以下のとおりです。
- 適切な使用のマークダウン構文(1点):
- 要素の範囲(1点)テンプレート
- 教科書の学習と問題解決プロセス、プラス4ポイント
- プロセスで解決コードのデバッグおよび問題は、3ポイントを追加します
- 週300以上の支店有効なコード(プラス2ポイント)
- その他のプラスのポイント:
ポイント:0
コメントテンプレート:
- 学習課題やブログワース:
- 有益かつ合理
- 問題が完全に解決され、
- コードは、学習や問題価値があります:
- 正しいと簡潔な
- 方法は、それが学習の価値がある変えます
- 参考例
コメントは、学生のブログやコードを持っていました
- ペア今週の学習
- 20182322
- ペア学習コンテンツ
- キューリストを使用します
- 配列を使用してキュー
その他(知覚、思考、など、別売)
今週は理解することは非常に困難まだすべてを吸収するためには、相当数の内容を学んだが、コードはハード教科書でノック、プラス、インターネットからの情報の短いで、問題を解決することができたで、コードの量を蓄積することで、ポジティブ思考
学習の進捗バー
コードの行の数(/蓄積を追加) | ブログ量(/蓄積を追加) | 学習時間(/蓄積を追加) | 重要な成長 | |
---|---|---|---|---|
目標 | 5000行 | 30 | 400時間 | |
最初の週 | 200/200 | 2/2 | 20/20 | |
第二週 | 300/500 | 2/4 | 38分の18 | |
第3週 | 500/1000 | 3/7 | 60分の22 | |
4週 | 300/1300 | 2/9 | 90分の30 |
最後に、「計画的な学習の時間」と「実際の学習時間」を記録してみてください、あなたが計画する能力を向上させることができるかどうかを確認。この研究は、非常に重要な仕事であるにも便利です。
推定式消費:Y = X + X / N 、Y = XX / Nを、 より頻繁に訓練し、X、Yが閉じます。
参考:なぜそんなにハード、ソフトウェアエンジニアリングソフトウェアを推定され、ソフトウェアエンジニアリングの推定法
プランの学習時間:XX時間
実際の学習時間:XX時間
改善点:
(利用可能なより多くの参照現代のソフトウェア工学コースウェア
ソフトウェアエンジニア自己評価フォームへの能力を)