Javascriptハッシュテーブルから要素を削除します
要素を削除するには、要素を見つけて、配列から所定の位置にある要素を削除する単純なスプライス関数呼び出しを使用して削除する必要があります。
同じの実装を見てみましょう-
例
remove(key) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // Find the element in the chain if (this.container[hashCode][i].key === key) { this.container[hashCode].splice(i, 1); return true } } return false; }
これは、-
を使用してテストできます。例
let ht = new HashTable(); ht.put(10, 94); ht.put(20, 72); ht.put(30, 1); ht.put(21, 6); ht.put(15, 21); ht.put(32, 34); console.log(ht.get(20)); console.log(ht.remove(20)); console.log(ht.get(20)); console.log(ht.remove(20));
出力
これにより、出力が得られます-
{ key: 20, value: 72 } true undefined false
これは、正常に検出および削除されたため、最初にtrueを返しました。次回は存在しなかったため、remove関数がfalseを返しました。
-
Javascriptを使用してリンクリストから要素を削除します
リンクリストでは、要素の削除は非常に簡単です。削除したいノードを取り除く必要があります。つまり、その参照を失います。考慮する必要がある3つのケースがあります- headから要素を削除する:この場合、head=head.nextを割り当てるだけです。このようにして、最初の要素の参照を失います。そして、頭が2番目の要素を指し始めます。 テールから要素を削除する:この場合、最後から2番目のノードのnode.nextをnullに割り当てるだけで、リストから最後の要素を削除できます。 中間から要素を削除する:これはより注意が必要です。この場合、削除するノードの前にノードを作成し、削除するノードの後に
-
Javascriptのハッシュテーブルデータ構造
ハッシュテーブルは、データを関連付けて格納するデータ構造です。ハッシュテーブルでは、データは配列形式で格納され、各データ値には独自のインデックス値があります。目的のデータのインデックスがわかっている場合、データへのアクセスは非常に高速になります。 したがって、データのサイズに関係なく、挿入および検索操作が非常に高速なデータ構造になります。ハッシュテーブルは、ストレージメディアとして配列を使用し、ハッシュ手法を使用して、要素が挿入される場所または要素が配置される場所のインデックスを生成します。 ハッシュ ハッシュは、キー値の範囲を配列のインデックスの範囲に変換する手法です。モジュロ演算子を使用