[死のルート]TIL-4日目



今日の勉強内容💻

  • キュー
  • [実習]プリンタ
  • プリンタ質疑応答
  • ハッシュ表
  • [実習]ベストアルバム
  • ベストアルバム解答
  • グラフ
  • 困難な内容🤢


    -キュー

  • の線形データ構造を先に入力します!
  • class Queue {
      constructor() {
        this.queue = [];
        this.front = 0;
        this.rear = 0;
      }
    
      enqueue(value) {
        this.queue[this.rear++] = value;
      }
    
      dequeue() {
        const value = this.queue[this.front];
        delete this.queue[this.front];
        this.front += 1;
        return value;
      }
    
      peek() {
        return this.queue[this.front];
      }
    
      size() {
        return this.rear - this.front;
      }
    }
    
    const queue = new Queue();
    配列や接続リストで実現できます.以上のコードは配列によって実現される.
    JavaScriptを使用してキューを実装する場合、shift/unshiftを使用するには線形時間(O(n))が必要ですので、キューを正しく使用するには、前後モードを使用するのが望ましいです!

    -ハッシュ表


  • 鍵と値を受信し、ハッシュ鍵によって生成されたインデックスに値を格納する線形データ構造.

  • 挿入はO(1)で、キーがわかっていればナビゲート、削除もO(1)!
  • -ハッシュ関数


  • 入力した値を特定の範囲の数値に変更する関数.

  • 各異なるキーのハッシュ関数の結果が同じであれば?ハッシュ衝突(Hash Collision)!!

  • ハッシュ競合解決
    1)リニアプローブ:競合が発生した場合は、インデックスを1つのグリッドの横に移動して格納します.
    2)平方探査法:衝突が発生した回数の平方に従って移動して保存する.
    3)冗長ハッシュ:競合が発生した場合は、他のハッシュ関数を使用します.
    4)分離接続法:パケット内の値を接続リストとして使用し、競合が発生した場合はリストに値を追加します.
  • 勉強する内容📃


    再試行
  • [実践]プリンタ
  • [実習]ベストアルバムを知っています.
  • に感銘を与える👀


    >「私は...「遅れて、、、地図はありますか、、、?」


    昨日の資料構造&アルゴリズムの授業に続きます!
    私はQについてよく知っていると思っていましたが、本当に実現したいと思っていましたが、できませんでした.オブジェクト向けのプログラミングにはまだ詳しくありませんが...
    そしてまた愚痴をこぼすと….
    これは2つの実践がある日で、shiftがなければプリンタは実施できません.
    ベストアルバムは触ることができなかったので少し憂鬱な一日でした.
    今は4日目だけどもうドキドキしてる気がするけどちょっと怖かったけど.
    悲喜こもごも言わないで~まだ長い道のりがあるから~

    コメントサイト🙄


    - https://programmers.co.kr/