データ構造学習Week1-1:データ構造とは何ですか?

  

最初の質問:書籍や見つけると、インサートの配置

1、ディスプレイは:①②一連の文字を入れて気軽に入れます

2.検索:①二分法を見つける②

図3に示すように、挿入されている:上記の方法によると、いくつかの地域、何らかの帳の各表示領域、文字の各シーケンスによって置か冊、二部の外観のサブクラスにより、各操作にOK、我々の棚ではありません

4、どのようにそれを分類するには?

 

1の結論しました:

関連データの編成で、問題を解決するために、プロセスの効率化

 

第二の問題:1〜n個のすべての正の整数を印刷

1、サイクルの実装:

2、再帰:

#include <bits/stdc++.h>
using namespace std;
void Printn(int n)
{
    if(n)
    {
       Printn(n-1);
       printf("%d ",n);
    }
}
int main()
{
    int n;
    scanf("%d",&n);
   //法一:直接法
   for(int i=1;i<=n;i++)
    printf("%d ",i);
   puts("");

   //法二:递归调用
   Printn(n);
   
return 0;
}

 

再帰的な直接は爆発;場合はN = 10 \ 100 \ 10000大丈夫、しかしN = 100000:各2個のタグを実行した後

 

n=100000;
//直接法
99952 99953 99954 99955 99956 99957 99958 99959 99960 99961 99962 99963 99964 99965 99966 99967 99968 99969 99970 99971 99972 99973 99974 99975 99976 99977 99978 99979 99980 99981 99982 99983 99984 99985 99986 99987 99988 99989 99990 99991 99992 99993 99994 99995 99996 99997 99998 99999 100000

Process returned 0 (0x0)   execution time : 23.423 s
Press any key to continue.

//递归法

Process returned -1073741571 (0xC00000FD)   execution time : 8.180 s
Press any key to continue.

2の結論しました:

宇宙関連の利用で、問題を解決するために、プロセスの効率化

 

第三の問題:xの多項式で与えられたポイントの値を計算するプログラムを書きます。F(X)= A_ {0} + A_ {1} X + ..... + A_ {N-1} X ^ {N-1} + A_ {n}はX ^ {N}

1、直接の質問の意味に翻訳(軽蔑されます....)

2、秦JiuzhaoF(X)= A_ {0} + X(A_ {1} + X(.....(A_ {N-1} + X(A_ {N}))...))

 

double f1( int n,double a[],double x)
{

    double p=a[0];
    for(int i=1;i<=n;i++)
        p+=(a[i]*pow(x,i));
    return p;
}


double f2( int n,double a[],double x)
{
    double p=a[n];
    for(int i=n;i>0;i--)
        p=a[i-1]+x*p;
    return p;

}

()は、クロック時間で計算されます

以下のテンプレート

//clock()模板
#include <bits/stdc++.h>
#include <time.h>
using namespace std;

clock_t  start ,stop;//clock_t是变量类型
double duration;
void Myfunction();

int main()
{
    start=clock();
    Myfunction();
    stop=clock();
    duration=((double)(stop-start))/CLK_TCK;

return 0;
}

 

F1、F2桁より遅いです

3の結論しました:

巧妙なアルゴリズム関連度と問題解決アプローチの効率。

 

 

データ構造は何ですか?

組織内のコンピュータ内のデータ・オブジェクト:

   1、論理構造:

     ①線形構造(1)

     ②木(多くの1つ)

   図2に示すように、物理的なストレージ構造

第二に、抽象データ型:

   1、データタイプ:

        ①データオブジェクトのセットは、

        ②、関連付けられた操作のデータ収集セット:ブック近い配置との接続と一緒に動作しています。

   2、要約:データ型の説明は、特定の実装に依存しません。データのみのタイプは何をすべきかを含めていないかを説明

第三に、抽象データ型定義の「マトリックス」

要約:それは、フレームと同等です。

要約メリット:①コードの再利用性を向上させ、データの種類を交換するのは簡単

 

公開された32元の記事 ウォンの賞賛1 ビュー1323

おすすめ

転載: blog.csdn.net/QXK_Jack/article/details/104355292