データ構造 はコンピュータ プログラミングの基本的な構成要素です。これらは、プログラム内でデータがどのように編成、保存、操作されるかを定義します。データ構造を理解することは、効率的かつ効果的なアルゴリズムを開発するために非常に重要です。このチュートリアルでは、以下を含む最も一般的に使用されるデータ構造を検討します。 配列、リンク リスト、スタック、キュー、ツリー、グラフ。
データ構造とは何ですか?
あ データ構造 データを保存および整理するために使用されるストレージです。これは、効率的にアクセスして更新できるように、コンピュータ上でデータを配置する方法です。
データ構造は、データを整理するためだけに使用されるわけではありません。データの処理、取得、保存にも使用されます。開発されたほぼすべてのプログラムやソフトウェア システムで使用される、さまざまな基本タイプと高度なタイプのデータ構造があります。したがって、データ構造についての十分な知識が必要です。
アトイC
データ構造とアルゴリズムを実際に体験する
Educative の対話型コースで、現実世界の問題を解決し、コーディング面接の質問に答えるための基本的なコンピューター サイエンスの概念をマスターします。
mysql 表示ユーザー
- 線形データ構造 : データ要素が連続的または線形に配置され、各要素が前後の隣接する要素に関連付けられているデータ構造は、線形データ構造と呼ばれます。
例: 配列、スタック、キュー、リンクリストなど- 静的データ構造: 静的データ構造のメモリ サイズは固定です。静的データ構造内の要素にアクセスする方が簡単です。
例: 配列。- 動的データ構造: 動的データ構造では、サイズは固定されません。ランタイム中にランダムに更新できるため、コードのメモリ (スペース) の複雑さに関して効率的であると考えられます。
例: キュー、スタックなど。- 非線形データ構造: データ要素が連続的または線形に配置されていないデータ構造は、非線形データ構造と呼ばれます。非線形データ構造では、1 回の実行だけですべての要素を走査することはできません。
例: ツリーとグラフ。目次
- データ構造の概要:
- データ構造とは: 種類、分類、用途
- データ構造の概要
- さまざまなデータ構造に対する共通の操作
ソートされた配列の検索、挿入、削除
- 配列を反転するプログラムを作成する
- 配列内のリーダー
- 配列 A[] と数値 x が与えられた場合、合計が x である A[] 内のペアをチェックします。
- 多数派要素
- 奇数回出現する数値を求める
- 連続するサブ配列の合計の最大値
- 足りない番号を探す
- ソートおよびピボットされた配列内の要素を検索する
- サイズ n の配列をサイズ m+n の別の配列にマージします
- ソートされた 2 つの配列の中央値
- 配列回転プログラム
- 配列回転の反転アルゴリズム
- 配列回転のためのブロック交換アルゴリズム
- 2 つの要素が隣接しないような最大合計
- 要素を頻度で並べ替える |セット1
- 配列内の反転を数える
Array のすべての記事
グラフでのコーディングの実践
グラフの最近の記事XOR リンク リスト – メモリ効率の高い二重リンク リスト |セット1
XOR リンク リスト – メモリ効率の高い二重リンク リスト |セット2 スキップリスト |セット 1 (導入) 自己組織化リスト |セット 1 (導入) 展開されたリンク リスト |セット 1 (導入) 2. セグメントツリーのデータ構造:
- セグメントツリー |セット 1 (指定された範囲の合計)
- セグメントツリー |セット 2 (範囲最小クエリ)
- セグメントツリーでの遅延伝播
- 永続セグメント ツリー |セット 1 (導入)
セグメントトレに関するすべての記事
3. トライのデータ構造 :
- トライ | (挿入して検索)
- トライ | (消去)
- 最長プレフィックス マッチング – Java の Trie ベースのソリューション
- 指定されたブール行列内の固有の行を出力します。
- 逆引き DNS ルックアップ キャッシュを実装するにはどうすればよいですか?
- フォワード DNS ルックアップ キャッシュを実装するにはどうすればよいですか?
トライの全記事
4. バイナリインデックス付きツリーデータ構造:
- バイナリインデックス付きツリー
- 2 次元バイナリ インデックス ツリーまたはフェンウィック ツリー
- バイナリ インデックス付きツリー : 範囲更新とポイント クエリ
- バイナリ インデックス付きツリー: 範囲更新と範囲クエリ
バイナリインデックスツリーのすべての記事
5. サフィックス配列とサフィックスツリー :
- サフィックス配列の概要
- サフィックス配列 nLogn アルゴリズム
- kasai のサフィックス配列から LCP 配列を構築するアルゴリズム
- サフィックスツリーの概要
- ウッコネンのサフィックス ツリーの構築 - パート 1
- ウッコネンのサフィックス ツリーの構築 – パート 2
- ウッコネンのサフィックス ツリー構築 – パート 3
- ウッコネンのサフィックス ツリー構築 – パート 4、
- ウッコネンのサフィックス ツリー構築 – パート 5
- ウッコネンのサフィックス ツリー構築 – パート 6
- 一般化されたサフィックス ツリー
- サフィックス ツリーを使用して線形時間サフィックス配列を構築する
- 部分文字列チェック
- 全パターンを検索する
- 最も長く繰り返される部分文字列、
- 最長の共通部分文字列、最長の回文部分文字列
Suffix Tree のすべての記事
6. AVL ツリー:
- AVL ツリー |セット 1 (挿入)
- AVL ツリー |セット 2 (削除)
- 重複キーのある AVL
7. スプレーツリー:
- スプレーツリー |セット 1 (検索)
- スプレーツリー |セット 2 (インサート)
8.B ツリー:
- Bツリー |セット 1 (導入)
- Bツリー |セット 2 (インサート)
- Bツリー |セット 3 (削除)
9. 赤黒の木:
- 赤黒木の紹介
- 赤黒木の挿入。
- 赤黒ツリーの削除
- 赤黒木挿入プログラム
セルフバランシング BST に関するすべての記事
メガバイトとギガバイトの違いは何ですか10. K 次元ツリー:
- KD ツリー (検索と挿入)
- K D ツリー (最小値の検索)
- K D ツリー (削除)
その他のデータ構造:
- Treap (ランダム化された二分探索ツリー)
- 三分探索ツリー
- インターバルツリー
- LRUキャッシュの実装
- 異なるマシンに保存されている数値を並べ替える
- ファイルから k 個の最も頻繁に使用される単語を検索します。
- 一連の単語が与えられた場合、すべてのアナグラムをまとめて出力します
- トーナメント ツリー (勝者ツリー) とバイナリ ヒープ
- デシジョン ツリー – 偽 (偽造) コイン パズル (12 コイン パズル)
- スパゲッティスタック
- 辞書とスペルチェッカーのデータ構造?
- デカルト ツリー
- デカルトツリーソート
- スパースセット
- 木の重心分解
- ゴモリー・フーの木
- 高度なデータ構造に関する最近の記事。
その他:
- データ構造に関する面接でよくある質問 |セット1
- n 個の要素と O(1) 操作のデータ構造
- 式ツリー