2017-10-04 12 views
1

次のようなデータセットがあるとします。さまざまな種類のデータ型をサポートするデータ構造

Seq1 | Seq2 | Seq3 |病気|年齢

====================================

A | | T | G |発熱、咳| 24

T | C | G |高血圧| 56

C | | T | |糖尿病、高血圧| 79

アルファベット順のデータ{A/T/C/G}、設定値のデータ{糖尿病、高血圧}、数値データ{年齢}をサポートするデータ構造はどれですか?

私のようなcoountクエリがある場合:SEQ2は= T、病=「高血圧」、年齢> 50 ==>は答えは私が思っていたが2

あるべきデータ構造のどのような私がすべきすべてのタイプのデータと前述のクエリを効率的に適合させるために使用しますか?または、3つのデータ構造を構築してから結果を交差させる必要がありますか?

答えて

0

OOP言語で作業している場合、必要なすべてのプロパティ(Seq 1、Seq 2、Seq 3、症状のリスト、Age)を含むクラスを作成することを検討してください。そのクラスをインスタンス化し、結果のオブジェクトをさまざまなデータ構造(リストのようなもの)に入れることができます。

0

クラスは、この構造を処理するための正しい方法である必要があり、C#で簡単な実装は次のようになります。

using System.Collections.Generic; 

namespace DataStructure 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Creating Data Set 
      var AllDataSet = new List<DataStructure>(); 
      AllDataSet.Add(
       new DataStructure(new char[] { 'A', 'T', 'G' }, new string[] { "Fever", "Cough" }, 24)   
      ); 

      AllDataSet.Add(
       new DataStructure(new char[] { 'T', 'C', 'G' }, new string[] { "High Blood Pressure" }, 56) 
      ); 

      AllDataSet.Add(
       new DataStructure(new char[] { 'A', 'T', 'G' }, new string[] { "Diabetes", "High Blood Pressure" }, 79) 
      ); 
     } 
    } 

    public class DataStructure 
    { 
     public char[] DNAChar; 
     public string[] SetValuedData; 
     public int Age; 

     public DataStructure(char[] dnaChar, string[] setValuedData, int age) 
     { 
      DNAChar = dnaChar; 
      SetValuedData = setValuedData; 
      Age = age; 
     } 

     // Add other logic here 
    } 
} 

次に、あなたのロジックを実装するための機能を追加することができます。希望、これは助ける!