[ジャワイン川]4週目学習ログ


5.多種類の資料構造


データ構造
効率的なリソース構造->プログラム実行速度の向上、アルゴリズムパフォーマンスの最適化
  • リニアデータ構造
    アレイ-メモリの割り当て
    接続リスト:データが追加されるたびにメモリが割り当てられ、リンクにデータがリンクされます.
    スタック-LIFO(後進先出)push-pop
    キューFIFO(先入先出)enqueue-dequeue
  • 非線形データ構造
    ツリー(Tree)
    ヒープ(heap)-まずキューを実装
    バイナリツリー(binary tree)-親ノードには少なくとも2つのサブノードがあります.
    バイナリ検索ツリー:重複データ(キー)Xを許可する
    左サブノード<親ノード<右サブノード
  • グラフィック
    グラフィックを実装するには、次の手順に従います.
    隣接行列
    隣接リスト
    図面を参照するには、次の手順に従います.
    BFS(bread first search)
    DFS(depth first search)
    ハッシュ#ハッシュ#
    検索用データ構造
    キーワード辞書

    プログラミング


    クラスで使用される変数は、複数のデータ型であってもよい
    ->データ型を特定せずにデータ型を指定できることを宣言します.

    <T extendsクラス>


    データ型の範囲を制限できます

    JENICメソッドの使用

    public <자료형 매개 변수> 반환형 메서드 이름(자료형 매개변수.....) {
    
    }

    集合フレーム


    データ構造を実装するJDKライブラリ

    List
  • ArrayList, Vector, LinkedList, Stack, Queue ...
  • は、
  • の繰り返しを許可する.
    Set
  • HashSet, TreeSet ...
  • は、反復Xを許可する、順序依存X
  • .
    Map
  • HashTable, HashMap, TreeMap ...
  • オブジェクトは、キー値ペアからなる
  • である.
  • 鍵重複X
  • Collection要素を巡る歪み
    ->get(i)メソッドを使用してシーケンスリストインタフェースを処理する
    Setインタフェースの場合、->スキューを使用
  • hasNext():次の要素がある場合はtrue
  • を返します.
  • next():次の要素
  • を返します.
    TreeSetクラスの利用
  • エラー発生
  • public class Member implements Comparable<Member>{
    
    	...
    
    	@Override
    	public int compareTo(Member member) {
    		
    		//return (this.memberId - member.memberId);   //asc
    		  return (this.memberId - member.memberId) *  (-1);   //desc
    	}
    }