データ構造とアルゴリズム-内行ビューチャネル

3998 ワード

データ構造が重要!!データ構造が重要!!データ構造が重要!!
データ構造は私たちのプログラミングの思想とC言語で学習曲線の急峻さを実現することを訓練します!
1.上級者の玄関
プログラムを読めば必ずしも良いプログラムが書けるとは限らない.
プログラムの本質は何ですか.プログラムは問題を解決するステップの説明です
私たちが勉強しているCの文法だけで、実際の問題には遭遇していません.
例:計算前N項の和
#include <stdio.h>
#include <malloc.h>

long sum1(int n)
{
    long ret = 0;
    int* array = (int*)malloc(n * sizeof(int));
    int i = 0;

    for(i=0; i<n; i++)
    {
        array[i] = i + 1;
    }

    for(i=0; i<n; i++)
    {
        ret += array[i];
    }

    free(array);

    return ret;
}
//     ,     
long sum2(int n)
{
    long ret = 0;
    int i = 0;

    for(i=1; i<=n; i++)
    {
        ret += i;
    }

    return ret;
}
//    
long sum3(int n)
{
    long ret = 0;

    if( n > 0 )
    {
        ret = (1 + n) * n / 2;
    }

    return ret;
}
//    ,    ---   C       
int main()
{
    printf("%d
"
, sum1(100)); printf("%d
"
, sum2(100)); printf("%d
"
, sum3(100)); return 0; }

評価:プログラムの作成はできるだけ小さい空間でできるだけ少ないステップで優秀な開発者がコードの高い「性価比」を追求する必要があることを解決しなければならない.
Qプログラムの良し悪しをどう判断するか.まず一つのプログラムの善し悪しを評価してこそ,プログラムを書く基礎がある.
まとめ:プログラムは実際の問題を解決するためのステップであり、プログラムを評価することを学ばなければならない.
2.データのアート
初期のコンピュータは数値計算のためであったが,現在は生活問題を解決するためにコンピュータが生活中の個体関係データ構造を記述するのは,非数値計算を解決するためのデータであり,プログラムの操作対象を指し,客観的な事物を記述するために用いられる
データの特徴:コンピュータに入力してコンピュータで処理してデータに対して分類することができるのでデータのタイプと称します
≪データ・オブジェクト|Data Objects|oem_src≫:同じ性質のデータ要素の集合データ要素:データの基本単位データ項目:1つのデータ要素に複数のデータ項目が含まれます.
データ要素間には特定の関係があります.これらの関係はデータ構造です.
データ構造とは、データ・オブジェクト内のデータ要素間の関係です.
論理構造ろんりこうぞう:集合構造線形構造ツリー構造グラフィックスこうぞう
物理構造ぶつりこうぞう:逐次ストレージ構造チェーンストレージ構造じゅんじストレージこうぞう
3.プログラムの魂–アルゴリズム
データ構造とアルゴリズムの関係?
効率的なプログラム=適切なデータ構造+適切なアルゴリズム
アルゴリズムは1種の思想で、特定の問題の解く問題の説明で、言語は重要ではありません
データ構造は記述されたデータ要素間の関係にすぎず,アルゴリズムはPID,GAなど独立して存在する.
アルゴリズム:入出力は貧乏性の確定性の実行可能性のアルゴリズムとプログラムの違いがありますか?プログラムが自動的に終了しない場合があります
アルゴリズムは合理的なデータに対して合理的なデータアルゴリズムがあり、アウトデータに対しても合理的なデータアルゴリズムがあり、圧力データに対しても合理的なデータがある.
可読性の堅牢性の高い価格比
4.審判手続の魂