プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

データ構造体の配列に対する操作


ここでは、配列データ構造のいくつかの基本的な操作を示します。これらの操作は-

です
  • トラバース
  • 挿入
  • 削除
  • 検索
  • 更新

トラバースは、配列のすべての要素をスキャンしています。挿入操作は配列内の特定の位置にいくつかの要素を追加し、削除は配列から要素を削除し、削除後に他の要素のそれぞれの位置を更新します。検索は、配列に存在する要素を見つけることであり、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

  1. データ構造における二分木表現

    ここでは、コンピュータのメモリでバイナリツリーを表現する方法を説明します。表現するには2つの異なる方法があります。これらは配列とリンクリストを使用しています。 このようなツリーが1つあるとします- 配列表現は、レベル順の方法を使用して要素をスキャンすることにより、ツリーデータを格納します。したがって、ノードをレベルごとに格納します。一部の要素が欠落している場合は、空白のままにします。上記のツリーの表現は以下のようになります- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 5

  2. データ構造の償却時間計算量

    償却分析 この分析は、時折の操作が非常に遅い場合に使用されますが、非常に頻繁に実行される操作のほとんどは高速です。データ構造では、ハッシュテーブル、互いに素なセットなどの償却分析が必要です。 ハッシュテーブルでは、ほとんどの場合、検索時間の複雑さはO(1)ですが、O(n)操作を実行することもあります。ほとんどの場合、ハッシュテーブルで要素を検索または挿入する場合、タスクは一定時間かかりますが、衝突が発生すると、衝突を解決するためにO(n)回の操作が必要になります。 集計方法 総コストを見つけるために集計方法が使用されます。大量のデータを追加する場合は、この式で償却原価を見つける必要があり