20182306 2018-2019-1「プログラミングとデータ構造は、」教訓します
(ため)毎週の割り当ては、コレクションをリンク
準備作業:
記録とLinuxの基礎を学習するプロセス中に発生した仮想マシンのインストールの問題と解決策
操作の最初の週:
Linux仮想マシンの構成、環境、学習およびステッピングgitの
作品の第二週:
二つの入力数値計算2つの数値を加え、減算、乗算、除算の演算結果と出力。
操作の第3週:
- ランダム-10〜10の数(1.5分)、および出力形式(0 ###)を生成します
Bookクラスを書く、そのインスタンスデータは、タイトル、著者、出版社や著作権の日付を示しています。本コンストラクタを定義し、初期インスタンスデータを受信し、GETと定義されているすべてのそれらのインスタンスデータの設定方法を、戻り列線は説明ブックことtoStringメソッドを定義します。mainメソッドと帳オブジェクトの例の数を出力するクラスドライバを作成本棚。
仕事の4週目:
試験インタフェース(インタフェース)
インタフェース人を定義し、さらに学生のクラス実装するインターフェイスを定義します。
そして、簡単なテスト(StudentTest)を行います。作業の第五週:
複雑かつ合理的支持(分数)計算の準備
を選択するか、また「終了」を選択することができ有理数複数を計算することができる(1)、
(2)そのような複数の要求しなければならない実装匹敵インターフェースと2つの複素数の大きさを比較する;
(3 )、学生番号とブルーインク拡散雲をWhiteStarUML UML図を描画するために必要と;
(4)IDEAは、コードのgitクラウドにコードを必要とします。作業の第六週:
でファイルテストファイルクラスのクラス参照のクラウドリソース
学習バイトストリームと文字ストリーム、書き込みに4つの方法を使用して、ファイルの作成を達成する能力を必要とし、ファイルを読む(各メソッドは、結果のスクリーンショットをアップロードする必要があります)
、任意の2の方法を使用してその後、ファイルへの書き込み、複数の複雑な2を読み出す
読んだ後の操作を追加する、再書き込み結果ファイルが得られ
、コードのgitクラウドにコードをクラウドコードとテーマを添付(リンクは正確でなければなりません特定のファイルやフォルダへ!!!!)第七週の仕事
- ArrayStack完全かいま見、のisEmpty、サイズおよびtoStringメソッドを達成するために、特に、実装クラスの教科書を完了し、4つのメソッドのテストを完了します。
コマンドライン後置表現を出力:
74-3 * 15 + / *
式スタックの値を用いて計算されます。週8:仕事
- :チェーンの実践は、以下の機能が必要
チェーンを確立するために、整数(1)キーボード入力と、
(2)実装ノードの挿入、削除、出力動作、
(3)バブルソートや選択ソート方法を使用してリストの数値の大きさに応じて、ソート;
メソッドの定義は、完全なLinkedStackクラスを達成するために、大きさ、のisEmptyのtoStringなどを与えられました。
要件:1を実行することができ
、各試験方法の必要性2.
コードがテーマ(学校)アップロード透かし入り、クラウドコードとキーコード、および演算結果にアップロードされている3。9週のための割り当て:
- PP15.2は、すべてのメソッドを含む完全なCircularArrayQueueクラスを実現します。
注:チームと運用チームによって要求、ケースチームとチームは、空の外観がいっぱいです。
- Androidプラットフォームおよびその他の操作を変更、削除、ArrayListのとLinkedListのクラスを学び、アドオンを実施(3点)(データは独自に定義することができます)、および逆さま(3ポイント)を実現します。
反転手段:12345が54321になり
- 1,914,231,682,084,275,511 10 79被験者がシーケンシャル検索、バイナリ検索、バイナリ・ソートツリー検索を使用していたキーシーケンスを考えると、ハッシュは、検索(リニアプローブ法とチェーンアドレス方式)を実現LOOKUP。それらの対応する保存形式を描く(ルックアップテーブルの順番、二分決定木、バイナリソートツリー検索バイナリソートツリー、ハッシュルックアップハッシュテーブルの二種類を見つける。)、及び各ルックアップを算出します平均検索長の成功。ここで、ハッシュ関数H(K)= Kの%11。
以下のような検索は、バイナリ検索アルゴリズム再帰的な実装を追加します。この実装メカニズムを実証するためのドライバを作成します。
(1)プログラミング再帰
(2)テストクラスを作成し、テスト再帰バイナリ検索が正しいです。10週のための割り当て:
(1)AB#CD ### E#F ##ツリーの順序を確立することを考えると、ツリーは、アルゴリズム「バイナリツリーを生成する」に従って構築しました。
(2)完全なトラバーサルトラバーサルシーケンスおよびテストを使用する方法。週11宿題:
- 例えば別館に示すように、バイナリ・ソートツリーを確立します。完全:
(1)バイナリソートツリーの作成
(2)ルックアップの成功と失敗を含む、要素を検索するステップと、
(3)二つの要素、左サブツリーに挿入された1つ、右のサブツリーに挿入された1つに、
( 4)さまざまな状況を考慮して、要素を削除します。
文字セットで:S = {A、B、 C、D、E、F、G、H、I、J、K、L、M、nopq、R、S、T、U、V、X、W、 Y、Z}。
計算された確率構造ハフマン木に基づき、各文字の出現の統計的確率を含むファイルの26個の文字を考えます。
英語の文書とは、符号化と復号化を完了します。
要件:
(1)(など、または句読点を含めることはできません)が含まれ、英語のファイルの26個の文字を用意し、それぞれのキャラクターの統計の確率
(2)ハフマンツリー構造
英語のファイルの(3)は、符号化され、出力はコード化されましたファイル
エンコードされたファイルを復号化する(4)、デコードされた出力ファイル
(5)実験の設計と実装プロセスについてのブログ、およびソースコードの雲の広がりを書く
(6)結果のスクリーンショットは、クラウドクラスのレッスンにアップロード12週の仕事:
図のノードの計算を格納します。
(1)が頂点の有向グラフへとマトリックスと隣接行列なし(図アクセサリの矢印が除去された)定義、及び各ノードの次数とアウトを計算します。(3点)
(2)(2分)の加重ストリートマップテーブルで定義され、各ノードの次数を算出しています週13宿題:
プログラミング実践:
(1)隣接リストの初期化図(3点)を用いて、有向非巡回グラフ(附属書1及び2を参照)の初期化コードと非循環有向グラフを書き込みます。
トポロジカルソート(2)積層実装トポロジカルソートアルゴリズム、出力シーケンス図のアタッチメントを使用して1リングせず、リングアタッチメント図の存在を検出する。2(4点)。私は最高の書かれたブログがあると思いますか?なぜ?
私は、この実験は、彼らが完全に準備しているので、この偉大な実験が自分の収穫を行って、だけでなく、非常に満足して、非常に早期のブログも完了した後、それは、ハフマンテストだと思います。
ブログのMOST READジョブがありますか?経験についての講演
準備作業、エッセイは、読書の最高額をブログ、私たちは新しいカリキュラムについて、すべての好奇心があります。
(ため)テストサマリーレポートリンク
実験1の実験名:Linux FoundationのとJavaの開発環境
簡単な内容:
コマンドラインとIDE [IntelljのIDEA簡単なチュートリアル](に基づいて単純なJavaプログラムの編集、コンパイル、デバッグhttp://www.cnblogs.com/rocedu/p/4421202.html実行しています)。(実験では、コマンドラインを使用しています)
基本的なLinuxコマンドを実践するために、
デバッグJavaプログラムにスキルJDBを学ぶ:https://www.cnblogs.com/rocedu/p/6371262.html
書き込み、単純なJavaプログラム。
第二の実験の実験名:Javaの基礎(データ/表現、判断/ループ)
簡単な内容:
シンプルな電卓、完全な算術剰余演算を記述します。
ループまたは終了を選択し、計算を続けると判断され、計算結果出力後の動作を選択するために、決定文を使用して、キーボードからの2つの数の入力を必要とします。
書き込みテストコード、テスト・検証。(Https://www.cnblogs.com/rocedu/p/4472842.html)
第三の実験の実験名:オブジェクト指向プログラミング
簡単な内容:
ダウンロードと実験(の完了後、インストールして、IDEAを使用しhttps://www.cnblogs.com/rocedu/p/6371315.html)。
予備検査マスタユニットとTDDは
理解し、マスターオブジェクト指向の三つの要素:カプセル化、継承、ポリモーフィズム(学ぶために自分!)
予備マスターUMLモデリングは、
青色のインク雲(1)完成- (5)の実験を。
実験4実験名:Javaはソケットプログラミング
- Javaのソケットプログラミング
JavaSocketプログラミング学習、雲、青インク材料「とAndroidのプログラミングJavaの」「第16章インプット/アウトプットを」と「第22章ネットワークを」学習
ペアプログラミングを。クライアントSocketClient.javaための結び目書き込みパートナー、パートナーBの書き込み、サーバー側の双晶。
スクリーンショットプラス学生数の電子透かしは、コードを押すと、ラボレポートを書くために青色のインク雲、雲のヤードをアップロードします。
- Javaおよび暗号
道の接合部では、Java暗号関連のコンテンツ(ポストコードと学ぶためのすべての関連知識の必要性を)学んで完了します。学生数の透かしを持つように、雲やスクリーンショットの代表的な結果を提出するコードのリンクを成果学びます。
合理的/複数電卓書く
リモートで合理的な電卓
リモート複雑な計算を
実験5実験名:Androidのプログラミング
- AndroidのStuidioインストールとテスト:
参照「JavaとAndroidの開発調査ガイド(第二版)(EPUBIT、Androidの第二のJavaを )」 二十四章:
リファレンスhttp://www.cnblogs.com/rocedu/p/6371315 .htmlを#SECANDROID、AndroidのStuidioインストール
コードの実行ショットとクラウドGitのリンクコードを提出し、自分の学生番号の前と後に学生証、学校の生徒の数を表示するには、Hello Worldのをコンテンツ要件resディレクトリを変更し、完全なHello Worldのをポイントに何の学生数をスクリーンショットしない
学習のAndroid Stuidioデバッグアプリケーションの
- 活性試験
のリファレンス「のJavaとAndroidの開発調査ガイド(第二版)(EPUBIT、Androidの第二のJava )、」 二十五章:
ビルドのプロジェクトは、コード関連の資料が実行
ThirdActivityを作成し、ThirdActivity、変更に彼らの学生の数を示し、コードはMainActivity開始ThirdActivityをしましょう
- UIテスト
:参照「JavaとAndroidの開発調査ガイド(第二版)(EPUBIT、Androidの第二のJava )、」 26人の章では、
プロジェクトをビルドするには、コード関連の資料が実行
するようにメッセージトーストコードを修正するために彼らの学生のID情報を表示します
- テストレイアウト:
参照「JavaとAndroidの開発調査ガイド(第二版)(EPUBIT、Androidの第二のJava )」 章XXVII:
ビルドプロジェクト、実行材料関連するコード
別のページや材料へのインタフェースのレイアウトを変更するP290
- イベントハンドリングテスト:
参照「JavaとAndroidの開発調査ガイド(第二版)(、JavaのAndroidの第二のためEPUBIT )」 28人の章:
プロジェクトをビルドし、実行して材料関連するコード
のコードの実行ショットとクラウドGitのコードへのリンク、スクリーンショットを提出学生IDは、そうでない場合は、彼らが罰せられることになる、透かしを持っている必要があります
第六に、実験の実験名:線形構造のリスト
- チェーンの練習には、以下の機能を達成するために必要な:
いくつかの整数を入力するためのキーボード、リストの設立、これらの数字は二桁であなたの学生数は順次削除され、今日の時点で。
すべての要素のリスト、および要素の合計数の出力を印刷します。
あなたのプログラムでは、要素の合計数を記録するために、特殊な変数名を使用してください、変数名はあなたの名前です。
このステップが完了し、あなたのプログラムは、ソース・コントロール(gitのプッシュ)にチェックイン。
- チェーンの練習には、以下の機能を達成するために必要な:
ノードの挿入、削除、出力操作を実現するために、
その後、コードをチェックし、それぞれが新しい機能を終了し、または新しいコードの10の以上の行を書かれ、その機能を拡張するためのプログラムであなたを続け、提出しますサーバーへのソースコード、
ディスクファイルから読み込み、このファイルには、2つの数値を持っています。
デジタルビット5がリストに挿入され、ファイル1から読み出され、デジタル印刷、及び要素の総数。次の操作に進んで、このリストを保管してください。
デジタル0のリストに挿入されているファイル2、および印刷番号、要素の総数から読み出さ。このリストを保持し、次の操作に進んでください。
リストからわずか削除番号と合計数1.すべての数字と要素を印刷します。
- :チェーンの練習には、以下の機能を達成するために必要な
、数値の大きさに基づいてリストをソートするためにバブルソートや選択ソート方法を使用して
、あなたの学生の数が単数であれば、バブルソートを選択し、選択ソートまたは選択します。
選別の各ラウンドにおいて、印刷要素の合計数、および現在のリストのすべての要素。
この機能を実現するためにさまざまな機能を記述し、同じプログラムファイルを取得した番組(2)に拡大し続けています。
実験は、アンドロイド(1)及び(2)を実装
プラットフォームアンドロイド実験上に実装される(3)
7実験名実験:検索とソート
- 検索とソートは、クラスを定義し、実装linearSearch、選択ソートクラスメソッド、そして最後にテストを完了すること。
試験デザイン提出テストケース(正常、異常、境界、正のシーケンス、逆)、10以上が必要で、データは、それらの後の実施例の学生番号4に含まれる
図の提出演算結果。
- cn.edu.besti.cs1823(イニシャル+ 4桁の学生番号)パッケージにあなたのコード、Sorting.java Searching.javaをリファクタリング。(例:cn.edu.besti.cs1823.G2301)
テストをコード放電試験パッケージ
- 再コンパイル、コンパイルに提出し、コードを実行し、実行ショット(IDEA、コマンドライン)
- 参考http://www.cnblogs.com/maybe2030/p/4715035.htmlは、提出され、スクリーンショットを検索し、テストの実行結果を追加するには、検索アルゴリズム検索アルゴリズムの多様性を学びます
- クラスのソートメソッドを達成するために、サプリメントの話
- ヒルソート、ヒープソート、ソート、バイナリツリー(3を少なくとも)
- テストアルゴリズム実装(正常、異常、境界)
- (あなたはソートプログラムの3に欠陥があるにもかかわらず、あなたが適切なようにして取得することができ、複数のソートアルゴリズムを記述する場合)動作の結果は、スクリーンショットを提出
- クラスのソートメソッドを達成するために、サプリメントの話
実験8実験名:ツリー
- 完全なチェーンLinkedBinaryTreeツリー(GetRightを、含まれている、のtoString、前順、後順)を達成するための参考資料のPP16.1、
- JUnitのでLinkedBinaryTree独自の実装をテストしたり、独自のドライバクラスを書きます
- フルスクリーンに、テストコードの実行ショットを提出し、独自の学生番号情報が含まれています
- ホスティングプラットフォームをプッシュコードクラスコードの下で
- JUnitのでLinkedBinaryTree独自の実装をテストしたり、独自のドライバクラスを書きます
- LinkedBinaryTreeは、そのような配列とそれに続くHDIBEMJNAFCKGL ABDHIEJMNCFGKL、ツリー構築の図面に示すような2つの㕚ツリーに基づく構成(順に、一次)固有の配列に基づいて機能を実現します
- JUnitので行ったり、フルスクリーンに、テストコードの実行ショットを提出し、自分のテストを実現するための機能の独自のドライバクラスを記述し、独自の学生番号情報が含まれています
- ホスティングプラットフォームをプッシュコードクラスコードの下で
- JUnitので行ったり、フルスクリーンに、テストコードの実行ショットを提出し、自分のテストを実現するための機能の独自のドライバクラスを記述し、独自の学生番号情報が含まれています
- 独自のデザインと決定木を実装し、フルスクリーンに、テストコードの実行ショットを提出し、独自の学生番号情報が含まれている
コードのホスティングプラットフォームにプッシュされたコードの下にコース
- 中置式を入力し、後置記法、および出力後置式と結果に中置式を変換するために木を使用し
たテストコードの実行ショットに提出し、フルスクリーンに、独自の学生番号情報が含まれています
実験9つの実験名:図
- 初期設定:画面の指示(例えば:入力1無向グラフ、有向グラフ入力2)初期化は、(隣接行列はまた、隣接テーブルを使用することができ、利用可能である)を定義する図ニーズ(頂点の数を、グラフを無向と有向エッジの数は、スクラッチ紙に地図を描き、次に()2分を頂点と辺の数を入力することが推奨されます)
- 図トラバーサル(4分)図および図なしに横断する(深さと幅優先トラバーサル)が存在完了する
- 配列またはトポロジカルソートの出力は、図環存在SORT完全なトポロジーマップを、出力する(3分間)
- 最小スパニングツリーの図完了(プリムアルゴリズム又はアルゴリズム缶Kruscal)、および出力(3点)
- 溶液は、図のシングルソースの最短パスに(ダイクストラ)(3分)を完了しました。
チームプロジェクトサマリーレポートリンク(順)
ホスティングコード
- ホスティングコード
- この学期コードの量が目標を達成していないことを示す、statistic.sh営業成績を考えると?
もともとコード行の6000量のために計画され、学期の努力によって、私は、コードの目標量に達し、10,000行を超えました。
- 少しのコード変更のポイントコードは、知恵のプログラミングへの参照を理解するための最良の方法ですあなたの経験についての話を追加し
、すべてのコードが一人で完全に行うことはできませんが、コードを借りる時にコードの意味を理解する良いですそれは収穫です。
- 積極的なノック・コードはありませんか?教育実習にどのような教訓?
これは、ジョブを完了するためのイニシアチブをとるだろう、と長い時間開いた本、ブック内のコードのためのBaiduの検索コードから、ブックからソースコード上の積極的なノックコード、ロットコードと呼ぶことはできません。
教室実践プロジェクト
- 教室の練習リンク(表示されていないことはできません)
- -Scanner&JDB教室の練習問題
- 練習ライティングクラス
- ランダムテストとのNumberFormat
- インターフェイスの練習
- 複数/合理的な計算(インタフェース)
- ファイルの読み取りと書き込み
- 中期テスト
- 時間の複雑さの解析
- ArrayStackクラスの実装とテスト
- 後置式
- スタック - - アウト条スタック・アレイは、達成するために
- チェーンスタック完了(LinkedStack完了)サイズ\のisEmpty \のtoString \プッシュ
- 挿入リスト
- 練習リスト
- CircularArrayQueue完了方法
- リニアテーブルを練習(ArrayListを、LinkedListの)
- 検索とASL操作(プログラミング+コンピューティング)
- バイナリサーチ(バイナリサーチ)練習
- クイックソートテスト(中間工程を有していなければなりません)
- ソート最悪のケースを選択
- ツリー - 計算問題
- バイナリツリーの計算の順序と一次構造に
- シーケンスバイナリツリートラバーサル方法の確立と実践
- 非再帰前の先行順練習前後の再帰的シーケンス
- ヒープソート処理のテスト
- バイナリソートツリーの練習
- ハフマンプラクティスをコーディング
- ハフマン符号化テスト
- 図プラクティス
- クロストレーニングリスト
- DFSとBFS試験の図
- 検査の手配の競合(ペイント)
- 最小スパニングツリーのテスト
- ダイクストラ(ダイクストラ)のアルゴリズムのテスト
- AOE / AOV練習
- トポロジカル整列模擬テスト
- -Scanner&JDB教室の練習問題
コース収穫不足
- 彼らの収穫(投資、効率性、有効性、など)
時間や多くの自身の投資、すべての後に、この大規模なタスクの件名、高速での講義、自己すべき多くの知識、
私は彼が高くないと思う効率、何回も自分自身の学習理由方法は無駄に無駄な時間の多くで、その結果、ありません。
実際に、それは彼らの最も予想されるスタート感じではないかもしれないが、何かを得るために。
- 彼らは、改善必要
、私は、彼らはすべての後に、このような大規模なタスククラスは、多くの時間を費やすが、結果は彼らの要求を満たしていませんでした、学習の効率を改善する必要があると思うが。
- ツイニングは本当に勉強に実装されていませんか?あなたが助けを提供するもの書きまたは任意の助けを受け入れ、そして教師の推薦が参照提供
ギターのレッスンが、このコースのを、私は実際に実装されていませんでしたが、簡単なファーを理解するために理解するために、また、学生、高齢者から受け入れヘルプ姉妹校と教師のすべての種類。
これは、情報量が多すぎると、私の脳は、ああ、1キロバイトAPP 1Gを受信していない、教師はいずれかの主題を開くことができることをお勧めします!!!
- 調査
- このコースで効果的な学習へのあなたの週平均プットどのくらいの時間?
一般的には、約20時間維持されなければなりません。
- 週刊学習効率は、それが改善されましたか?あなたはどのように測定するのですか?
試験を受けた場合、エネルギーは効率が低下します学習、そこに置かれます、まあ、良い時と悪い学習効率をemmmm、また、全体的な学術的使命と圧力は、列に関連して、時々気まぐれ、学習効率が向上します。
- あなたはそれを促進することを学ぶ青インククラウドクラスのレッスンを使用しますか?任意の提案やコメント?
すべての後、彼らはまた、あなたが未来を見ることができ、ジョブの投入を見つけることができ、便利です。青インククラウドクラスのレッスンの景色のために、私はより多くの仏のシステムです、何も推奨されていない.....
- あなたはこのコースの教師は何の事を行うには続けるべきだと思いますか?
実験クラスのみんなと一緒にいくつかのコードを一緒にマルチノック、あなたがよりよく理解することができます。
- あなたは、このクラスは先生が何一つのことをやって止めるべきだと思いますか?
今少し仕事を配置し、私たちは大きな圧力を受けている、今、私たちの子供たちを救います!
- このコースで効果的な学習へのあなたの週平均プットどのくらいの時間?
2次元コードに関連した要約へのリンク
最初の週
第二週
第3週
4週
5週目
6週
7週
8週目
週ナイン
10週目