20182320「プログラミングとデータ構造」の要約を学ぶ第10週
コンテンツ概要を学びます
1.コンセプトマップ
概念上での描画、教室で教師がかなり詳細に記載されているので、それらを繰り返すことはしません。
重要な概念は、次のとおり無向グラフ、有向グラフ、頂点、エッジ......
2.グラフトラバーサル
2.1幅優先トラバーサル
2.1.1コンセプト
ツリートラバーサル配列類似性、同一の頂点トラバーサルに属する優先順位を昇順の順に経路長。
2.1.2アイデア
イテレータの使用、キュー。
:訪問し、次のサイクルを開始としてマークまず、キューに開始頂点、
これらながら、キューから頂点を取るを、イテレータにそれを追加し、キューのすべての未訪問の頂点の隣接頂点キューが空になるまで訪問したとしてマークされた頂点。
2.2深さ優先トラバーサル
2.2.1コンセプト
次の頂点にはアクセスできなくなるまで、ツリーの先行順走査と同様に、道路が黒く、頂点の先頭から、下の頂点を訪問されました。
アイデアの実現2.2.2
そして、幅優先同様のトラバーサル、ちょうどライン上のスタックにキュー構造にする必要があります。
設立の図2.3
2.3.1隣接リスト
図の隣接リストは、アレイ方式と結合リストに格納されている、と我々のソート方法ハッシュのリンクアドレスは、前に幾分類似して達成されます。
2.3.2隣接行列
隣接行列は、有向グラフを表すために使用されない、またはグラフには接続することができ、縦軸は、ノードが2つの接続を有しているかどうかを示すために、偽、マトリックス0、1又は真内に堆積することができ、水平接続する2つのノードを表します。図手段行列が対称である場合に接続がありません。
教科書の学習と問題解決プロセス
質問1:
多くのあいまいな場所があるマップの確立を達成するために配列を使用することを学ぶの気持ちなど、ストレージのタイムチャートでいない隣接行列は右上の三角形や行列全体の使用がある場合は?
問題1ソリューション:
完全各部の機能を理解しています。
プロセスでのコードのデバッグおよび問題解決
質問1:
私はPP19_1を達成するためのリンクリスト構造を開始したいが、最終的には他のノードの数が不明のノードが次の接続が面倒であるかを決定するための時間が、そこにある接続されてました。
問題1ソリューション:
計画を実行するために複数のアレイを使用することで、より便利になります。
質問2:
この本は、コード、ArrayIteratorに発見し、私の考えを本として同じではないに応じて実装される場合には、必要が使用するためのパラメータを追加します。
問題2ソリューション:
把ArrayIterator替换成ArrayList,有同样的功能。
问题3:
程序报错
问题3解决方案:
查找CSDN
使用第二条方法。
代码托管
上周考试错题总结
上周无考试。
结对及互评
点评过的同学博客和代码
其他(感悟、思考等,可选)
这周所学习的图与上周学习的树有很大关联,树本质上就是图,但是它们在构建和实现遍历的方面有有着些许不同。这周我理解的较为透彻的,能自己用代码实现的知识是图的深度和广度遍历,它们都很好地运用了我们之前学习的队列结构和栈结构。然而图在涉及权值和有向的情况下,构建情况就会变得更加复杂,我还需要进行深入学习。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 208/208 | 2/2 | 9/9 | |
第二周 | 258/466 | 2/4 | 15/24 | |
第三周 | 693/1159 | 2/6 | 22/46 | |
第四周 | 1383/2542 | 2/8 | 30/76 | |
第五周 | 1300/3842 | 2/10 | 22/98 | |
第六周 | 1998/5840 | 2/12 | 24/122 | |
第七周 | 2901/8741 | 2/14 | 30/152 | |
第八周 | 3556/12297 | 2/16 | 30/182 | |
第九周 | 12297/13394 | 3/19 | 32/214 |