資料構造とは何ですか.


皆さん、こんにちは、この授業ではData Structureについて話しましょう.
コンピューターシステムを学ぶときに本当に聞き飽きてしまう名前が、資料構造です.データ構造とは?
資料構造を議論する前に、コンピュータという設備について話しましょう.皆さんはパソコンとは何だと思いますか?
コンピューターを壮大に考えると、ネットカフェや会社でスーパーコンピューターを考えることができますが、簡単に考えると、電子脳はコンピューターであり、機械上の離散データを処理することができます.簡単に言えば、人の命令を処理する装置がコンピュータです.
Aという機械があれば、機械の動き方と全体の構造は機械技師が設計します.化学技師や材料技師がその機械をどのような材料で製造すべきかを判断しなければならない.動力さえあれば、動く機械はここまでです.しかし、動力源が電気だったら?電気工学者が設計に参加する.電気が入っている以上、今電気を使って他の機能を利用するには、電子回路が必要であり、電子エンジニアも必要です.もう電子回路が入っていますが、今何ができますか?「機械は所定の状況に応じて判断することができる」.「今まで、あなたは与えられた状況に基づいて判断していませんか?」このような考えがあるかもしれませんが、論理回路だけでは、機械は設計された回路内で電流の流れに従ってしか動作しません.しかし,離散したデータ,すなわち状況を機械が判断できるようにするためには,コンピュータエンジニアが必要である.コンピューターは論理回路で構成されているので、一見、電子技師は機械の設計を完成できると思いますが、ここで重要なキーワードは判断です.コンピュータエンジニアの職責は、機械に判断して命令を実行させることです.
例を挙げて前の状況を話しましょうか.エアコンがあると思ってください.普通のエアコンを使いたいなら、人によって設定された温度で、空気を冷やすだけです.ここでは一つの状況を区別した.人が私たちに温度を決めてくれたということです.
はい、エアコンがずいぶん開いて、欲しい温度をもらいました.今エアコンをつけっぱなしにしていると、ずっと涼しくなりますが、これはエネルギーの無駄でしょうか?このとき、このエアコンの特定の温度が今のままであれば、しばらく冷房を止めて、しばらく待ってからつけてもらえませんか?ここでまた一つの違いが現れた.もう所定の温度に下がった.
このような状況に応じて、機械に判断させ、動作させることです.これがコンピュータの役割です.
コンピューターの役割は尽きないが、できるだけ簡単に説明すればそうである.いつでもエラーが発生することを歓迎します.
コンピューターにもアナログコンピューターがありますが、私たちが今使っている、私の前にいる、あるいはあなたの前にいるコンピューターはデジタルコンピューターです.デジタルテクノロジーの利点は、異なる状況を説明するのに非常に便利であることです.いずれにしても、コンピュータはデジタルシステム内で動作し、バイナリであれバイナリであれ、16進数であれ.場合によっては番号付けが便利でしょうか?
デジタル論理回路システムで動作するコンピュータは人間の判断とは異なる.先ほどお話ししたように、デジタルシステムでは、デジタル世界はアナログ世界とは異なり、低次元世界です.特に多くの人がバイナリシステムのコンピュータを使用しており、バイナリシステムは1次元と言える.機械言語を勉強すればわかりますが、実際にプログラミング言語であるプログラムをコンパイラに符号化すると、cpuは0と1の電気信号を受け入れ、その言語を受け入れるのではなく、0と1の電気信号を受け入れます.つまり、私たち人間の世界での考え方は通用しません.
誰もが頭の中で特定のデータを分析したり処理したりする方法はそれぞれ違いますが、ほとんどの人は目で見ることができ、大体理解でき、すぐに処理することができます.例を挙げましょうか.

人はこの切符を見て、すぐにどんな果物が一番高いか、一番安いかを判断することができます.しかし、パソコンはディスプレイに100日表示しなければならず、何もできません.
この表で一番高い果物と一番安い果物をパソコンで区別するにはどうすればいいですか?最終的には、単独でプログラミングする必要があります.また、このプログラミングを行うには、コンピュータにこのテーブルを認識させる必要があります.データ構造が使用されます.
すなわち、コンピュータがデータを認識できるように、データ構造は加工されている.
さらに閉じる例を次に示します.
#include <iostream>

using namespace std;

int main(){
    int A[10] = {1,2,3,4,5,6,7,8,9,10}; //배열 자료구조
    int sum = 0;
    for(int i = 0; i < 10; i++){
    	if(A[i] % 2 != 0) sum += A[i]; //홀수만 찾아서 더하는 알고리즘
    } 
    cout << sum << '\n';
}
規定の数の中で奇数を探して保存しましょうか?C++などの言語を学ぶ人は、もちろん値を配列やリストに格納し、for文を使用することを考慮します.ここでは,配列と呼ばれるデータ構造を選択したので,for文を用いてすべての配列のデータを線形に参照し,奇数を検索するアルゴリズムを選択することができる.
つまり、良いアルゴリズムを選択するには、データ構造の知識が必要です.
この授業では資料の構造だけを簡単に紹介した.次に、Elementary Data Structureについて説明します.