20182318概要を学習の2019-2020-1「オブジェクト指向プログラミングとデータ構造、」第九週
コンテンツ概要を学びます
章XVIツリー
- ツリーは、その要素が階層に編成された非線形構造であります
- ツリーの任意のノードの各ノードの最大サブツリーを表します
- 高さlognmのN m進ツリーバランス要素
- ツリートラバーサル方法の4種類があります。
- キューは、ツリー内のトラバーサルシーケンス要素を格納するために使用することができた場合
- 右の子(2 *(N + 1))であるバイナリアレイ位置、左の子位置(2N + 1)の位置nにおける要素を使用して実装
- ツリーベースのストレージアレイの実装チェーンはツリーが完全木であるか否かを、アレイ内の連続した位置を占めることができます
- 木の用途に応じて、一般的なバイナリーツリーに要素を追加および削除する方法
- エキスパートシステムは、決定木を用いて設計することができます
章XVII
- 第3のシーケンスの二種類が順番に求めなければならない
再帰トラバーサル - およそ1のバイナリサブツリー最大深さ=深
キューの実装配列と
大顶堆、小顶堆
- それは、完全二分木でなければなりません
- トップ小さなヒープ:ルート未満であるか、子供たちに等しくなければなりません
- 並べ替えるには挿入した後
、削除位置を最後の葉に置き換えられます - 設立:、ツリーを構築する最後の非ターミナルノードを選択し、その左端の子値の交換動作を繰り返します。
バイナリソートツリー
- 左のサブツリーのルートよりも小さい方がより、大きいを置くか、右のサブツリーを置くために等しいです。
- 共感して下さい。サブツリーは、ルックアップが失敗した空です。
- ソートのトラバーサル順序どおり。
- 失敗の数は、彼が停止=生成するべき位置になりますして下さい。
- ツリーの場所を削除するだけジェミニの先行および後続ノードは、削除または前駆後続ノードの場合。
- バランス係数は1缶よりも大きくありません。左のサブツリー右のサブツリー転位のルートにより左の部分木よりも残っている場合
ハフマン符号化
- 固定長符号化:同じ長さ
- 大型ショートの確率は、コーディング長い小さな確率を符号化します。
- その他のプレフィックスは、任意のコーディングコーディングされていません
- 最適バイナリ:最短経路の長さ加重平均又は最小符号長グリップ
- フラッシュアプリケーションと追加
教科書の学習と問題解決プロセス
質問1:ルートのヌルポインタ例外を削除します。
問題1ソリューション:あなただけ、左と右のサブツリーの参照を変更することはできません他のノードができますが、ルート・ノードである参照のツリーのルートを変更する必要があります。
質問2:どのような高さと深さの違いは何ですか?
問題2ソリューション
- それはゼロであるそのようなすべてのリーフノードの高さと、最長パスのリーフノードに現在のノードの高さをいいます。
- 深さは、ルートノードがゼロであるように、最大経路長の現在のノードにルートからの深さを意味します。。
質問3:バイナリツリーの最適な使用とは何ですか
質問3ソリューション:ハフマンは、コーディング単純コーディング、より効率的な
プロセスでのコードのデバッグおよび問題解決
- 質問1:関連するコンテンツのBSTNodeの発見(Tターゲット)、中BSTNodeの実装プロセスでは、常に緋文字です。そして、この相対的で、BTNODEの検索でBTNODE(Tターゲットは)何の問題を持っていないだろう
- 問題1ソリューション:繰り返し慎重に検討した後、自身が、間違った書籍コードとエラーなしました。
質問2:どのようにバイナリツリーのグラフィックスを作成します
問題2解決策:[スタート]思考の何が、その後、反復ループを使用して、インターネットを検索し、解決することができます
ホスティングコード
(実行結果はstatistics.shスクリプトをスクリーンショット)
先週試験間違った質問の概要
- 错题1及原因(单选题| 1分)
バイナリツリーのアレイの実装では、ツリーのルートは、位置0にあり、各ノードのN、左側の子の位置にあります________およびnの右の子であります位置している ________。
A
。
2N + 1
B
。
2N + 2
C。
2(N + 1)
D
。
AとB
E
。
AとC
F.
。
B及びC
正解:E
分析:バイナリツリーで実装アレイ、各ノードの位置0におけるツリーのルートは、N、N-左の子ノードの位置であり、nは位置Aに右の子ノードおよびC
。
コメントは、学生のブログやコードを持っていました
- 今週の学習をペア
コードの行の数(追加/累算) | ブログ量(追加/蓄積) | 学習時間(追加/蓄積) | 重要な成長 | |
---|---|---|---|---|
週ナイン | 3577/1000 | 3/7 | 60分の22 |
あなたが計画する能力を向上させることができれば、エンド見るために「計画的学習の時間」と「実際の学習時間」を記録してみてください。この研究は、非常に重要な仕事であるにも便利です。
推定式消費:Y = X + X / N 、Y = XX / Nを、 より頻繁に訓練し、X、Yが閉じます。
参考:なぜ推定されているソフトウェアエンジニアリングソフトウェア一生懸命、ソフトウェアエンジニアリングの推定法
プランの学習時間:24時間
実際の学習時間:20時間
改善点:
(利用可能もっと見る現代のソフトウェア工学コースウェア
ソフトウェアエンジニア自己評価形成する能力)