データ構造体の配列に対する操作
ここでは、配列データ構造のいくつかの基本的な操作を示します。これらの操作は-
です- トラバース
- 挿入
- 削除
- 検索
- 更新
トラバースは、配列のすべての要素をスキャンしています。挿入操作は配列内の特定の位置にいくつかの要素を追加し、削除は配列から要素を削除し、削除後に他の要素のそれぞれの位置を更新します。検索は、配列に存在する要素を見つけることであり、updateは、指定された位置にある要素の値を更新します。より良いアイデアを得るために、1つのC++サンプルコードを見てみましょう。
例
#include<iostream> #include<vector> using namespace std; main(){ vector<int> arr; //insert elements arr.push_back(10); arr.push_back(20); arr.push_back(30); arr.push_back(40); arr.push_back(50); arr.push_back(60); for(int i = 0; i<arr.size(); i++){ //traverse cout << arr[i] << " "; } cout << endl; //delete elements arr.erase(arr.begin() + 2); arr.erase(arr.begin() + 3); for(int i = 0; i<arr.size(); i++){ //traverse cout << arr[i] << " "; } cout << endl; arr[0] = 100; //update for(int i = 0; i<arr.size(); i++){ //traverse cout << arr[i] << " "; } cout << endl; }
出力
10 20 30 40 50 60 10 20 40 60 100 20 40 60
-
データ構造における二分木表現
ここでは、コンピュータのメモリでバイナリツリーを表現する方法を説明します。表現するには2つの異なる方法があります。これらは配列とリンクリストを使用しています。 このようなツリーが1つあるとします- 配列表現は、レベル順の方法を使用して要素をスキャンすることにより、ツリーデータを格納します。したがって、ノードをレベルごとに格納します。一部の要素が欠落している場合は、空白のままにします。上記のツリーの表現は以下のようになります- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 5
-
データ構造の償却時間計算量
償却分析 この分析は、時折の操作が非常に遅い場合に使用されますが、非常に頻繁に実行される操作のほとんどは高速です。データ構造では、ハッシュテーブル、互いに素なセットなどの償却分析が必要です。 ハッシュテーブルでは、ほとんどの場合、検索時間の複雑さはO(1)ですが、O(n)操作を実行することもあります。ほとんどの場合、ハッシュテーブルで要素を検索または挿入する場合、タスクは一定時間かかりますが、衝突が発生すると、衝突を解決するためにO(n)回の操作が必要になります。 集計方法 総コストを見つけるために集計方法が使用されます。大量のデータを追加する場合は、この式で償却原価を見つける必要があり