20182305 2019-2020-1「オブジェクト指向プログラミングとデータ構造、」学習要約の8週目

20182305 2019-2020-1「オブジェクト指向プログラミングとデータ構造、」学習要約の8週目

コンテンツの概要を学びます

検索と二つの部分のソートを含む第十三章材料、今週コンテンツを学びます。

  • 検索:ように線形検索、バイナリ検索を含みます。

    • すなわち、線形探索前後から一つずつを見つけることではなく、コード効率を向上させるために、前方検索から、第1の位置センチネルに配置することができるためです。あなたは歩哨の位置で位置を見つけた場合は、この目標が見つかりません。
    • 中間要素は、ターゲット要素よりも小さい場合、中間位置と目標素子サイズ比較次いで、最初の(通常は小から大まで)バイナリサーチシーケンス順序を見つける必要があり、右側のに対し、中央要素の左側に記載されてもよいです。効率を向上させるために、この機能の順序付けられたシーケンスを見つけるための完全な使用バイナリ検索。
  • 並べ替え:選択ソート、バブルソート、挿入ソート、クイックソートを含みます。
    • これは、要求によって並び替え、特定の標準的なデータ列に基づいてソートされます。
    • 選択ソートを繰り返し、それが最終的に行くべき場所を命じた特定の値を置くことです。
    • 挿入ソートが必要とされる挿入された配列の特定の位置は、リストの特定の値を有します。
    • バブルソートは、彼らが場所を交換します必要であれば、要件を満たしているかどうかを決定するために比較ネイバーを繰り返しています。
    • 分割線は、中間軸に、全配列が2つの部分に分割され、最初のパスを再帰アルゴリズムクイックソートを使用して、ハブが右、左未満であると、ハブよりも大きいです。そして、選別しました。

教科書の学習と問題解決のプロセス

  • 一つの問題:設定リニアサーチSentinelは、最初の配列の意義は何ですか。

       通过设置哨兵,可以使查找过程获得一个一定可以找到的结果,此时只需要判断找到元素的位置是不是在哨兵位置,就可以判断原来序列中究竟是否含有这个元素。而这一过程可以使循环减少一个判断语句,循环次数多了以后就可以显著提高效率
  • 第二の問題:ポイントが何であるかをソートアルゴリズムの安定性。

     其实有很多算法现在看着没什么不同,但是当放在大数据云计算的条件下它的稳定性非常重要。举个例子来说,对淘宝网的商品进行排序,按照销量,价格等条件进行排序,它的数据服务器中的数据非常多,因此,当时用一个稳定性效果不好的排序算法,如堆排序、shell排序,当遇到最坏情形,会使得排序的效果非常差,严重影响服务器的性能,影响到用户的体验。
  • 質問3:この方法は、実際に、より効率的で一般的な配列決定法、用?

     1.冒泡算法效率最低。
    2.插入算法效率最高。
    3.选择算法是冒泡算法的3.3倍。
    4.插入算法是冒泡算法的4.7倍。
    5.插入算法是选择算法的1.4陪。

プロセスで解決コードのデバッグおよび問題

  • 一つの問題:==、差が等しいとのcompareTo?

    ==:一般比较两个变量的值,返回true和false,比较对象的地址,不比较对象的内容,
    equals:比较两个对象的内容,一般用于比较字符串。
    compareTo:在API中,java.lang包下面的基本数据类型(Integer,Float,Byte,Short,Character 等)的封装类都实现了对应的compareTo方法。例如对应Interger实现了数值大小判断;对应String按照字典排序实现字符串的判断,返回的是字符串长度差或者是字符间在码表上的差距。compareTo返回int值,大于返回大于0的整数,等于返回0,小于返回小于0的整数。

コードホスティング

## ノット学習の学生のブログ(20182327)

  • 学習課題やブログワース:
    • ポイント点線の部分は、自分の今週の学習を書く本当の、総合的な学習内容をまとめたもの。
    • 写真やコードスニペットの追加、学習、学習記録のアイデアや思考の過程で生じる問題を十分に文書化。自分自身の学習過程を記録するために、エラーコードの状況、その後の学習補正の概要を容易にするために役立ちます。あなたはより良い今週学習まとめることができます。
  • コードは、学習や問題価値があります:
    • Java言語のコードの再利用性の高い機能を活用、コードは以前Qiaoguoのコードを使用して、継承をうまく利用してノッキングを繰り返す必要はありません。
  • 11ポイント:スコアに基づいて、私はこのブログの得点を与えます。次のようにスコアがある:1つの適切な使用のマークダウン構文の問題と問題のコードのデバッグおよび決済で3つの感情を+2の解決の指導学習過程で、経験は、真剣に大きな空の1件のコメントを残していないブログやコードを指摘することができます....問題1。は。1つの本物の学習状況を結び目放課後タイトル検証+1、+1記録プログレスバーがあります。

コメントは、学生のブログやコードを持っていました

学習の進捗バー

コードの行の数(/蓄積を追加) ブログ量(/蓄積を追加) 学習時間(/蓄積を追加) 重要な成長
目標 6000ライン 30 400時間
最初の週 200/200 2/2 17/17
二三週間 756分の556 3/5 48分の31 Javaプログラミングの考えを理解するためのクラスとメソッドの間の関係を理解するには、いくつかの進歩を遂げ
4週 673/1429 2/7 12/60 コードの2枚の間の関係は、いくつかを理解します
5週目 1308/2737 2/9 85分の25
6週 800/3537 2/11 103分の18
7週 4195/7732 2/13 130分の27
8週目 489/8221 1/14 136分の6

おすすめ

転載: www.cnblogs.com/Java-cn/p/11790516.html