データ構造の起源https://www.jianshu.com/p/7db18d3d5d05

アメリカの心理学者、分離の6度の理論を提案しました。人と人との「」のギャップを意味し、あなたが任意の見知らぬ人を認識することができるようになります5人の最大で、言うことである5よりも任意の見知らぬ人、ではありません。「この理論によると、唯一のあなたと世界の誰との5人で区切って、国の反対側に関係なくは、レースの種類、どのような顔色の一種です。

 

絵本のAppの下からジェーン

したがって、我々はそのような蜘蛛の巣のようなような複雑な世界に住んで、私たちのそれぞれが独立したエンティティではなく、他の人がリンクされています。ビッグデータ、富であるデータのこの日および年齢で。だから私たちは私たちのために貴重なデータを抽出するために、保存するためにコンピュータを使用して大量のデータを分析する必要があります。

私たちはそれぞれ毎日は、生産データに、例​​えば、私たちは本を買っというように、淘宝網の項目で検索しました。人と人の間に多くのリンクがあるのと同様に、データとデータの間に多くのリンクがあるだろう、何のデータは、そのようなデータが値を持たない場合でも、我々はそれを研究、分析する必要はありません、だけでは存在しません。

データ構造は、正確に設定するために使用され、一つのデータは、関係のデータを含みます。どのデータは、データ構造の起点が発生し、その後の分析のために有効なデータソースを提供するために、コンピュータに関連した記憶されています。データ記憶構造は、コンピュータが、データを整理しています。良いデータ構造、私たちはより効率的に物事を成し遂げるみましょう。慎重に選択されたデータ構造は、高い計算速度とメモリ効率につながることができます。

データ構造分類

私は、データ構造が学ぶために二つの部分に分けることができると思います

データの論理構造

データとデータの間のリンクは、4つに分割されている論理構造の程度との間の密接な関係に基づいて、データの論理構造として知られています

1.コレクション

加えて、データ構造の要素間の相関は、他の関係「のセットに属しています」。比喩、私はバスケットを持って、バスケットはリンゴ、バナナ、梨を置きます。1つのバスケット内のこれら三つの果物に加えて、彼らは他の接触を持っていません。このバスケットは3つの果物のセットに属し、彼らはと接触したことはありません。

2.リニア構造

一人で私に余分な教訓を与えたのアナロジーは、私は大学入試をしたいが、私は数学が得意ではないので、私は数学の教師を取って、私のメイク時の規定、数学の先生、そこ1人の相互関係のデータ構造要素がありますその後、I数学の先生、他の人とクラスを構成し、これは1対1の関係、私たちの間の関係、彼は私と一緒に作り上げるされていることができません。また、例えばキュー、各列の一人だけ、各行10人の合計のために、そこにそれらのそれぞれ持っているとの間の関係はあるが、すべては1対1の関係を持っています。

3.ツリー

対多のデー​​タ構造要素の相関関係があり、例えば、二つ以上の学生のための数学の先生がクラスを作るために、それは教師と生徒の間に一対多の関係です。

4.グラフ構造

多くの関係に多くは、データ構造要素に存在します。

例えば、我々の交通ネットワーク、長沙N上海高速道路、上海はまた、長沙、上海に、また長沙に上海にkの対を3つのN関係ペア関係上海長沙、長沙に到達するために高速道路をKでありながら多くの関係に多くの。

 

絵本のAppの下からジェーン

 

データの第二に、物理的な構造

論理構造データは、コンピュータ・メモリ・ストレージの形式でデータの物理的構造と呼ばれます。

1.順次記憶構造

隣接するメモリセルの物理的な場所に格納された論理的に隣接するノードは、ノード間の論理関係は、関係記憶部に当接することにより具現化すること。連続したメモリ位置のグループを順次直線状の順次記憶構造と呼ばれるリニアテーブルとコンピュータに格納されたデータ要素の各々に対処します。

 

絵本のAppの下からジェーン

 

特徴:

図1に示すように、テーブル内のランダムアクセス要素。

2は、挿入および削除操作は、移動要素が必要です。

2.リンク・ストレージ構造

データ要素格納部のセットを有する任意のコンピュータに直線状(連続的であってもよいし、不連続であってもよいメモリセルのグループ)を記憶します。隣接する論理素子は、隣接する物理的位置である必要はない。従って、それは順次記憶構造は、弱点を有しているではなく、また、ランダムアクセスシーケンステーブルの利点を失います。

 

絵本のAppの下からジェーン

 

特徴:

図1に示すように、ストレージ構造記憶順序(各ノードとポインタデータフィールドドメインによって、同じスペースが満杯であると仮定される、チェーン店以上のその後全配列)の密度よりも小さいです。

図2に示すように、物理的に隣接している必要はない論理的に隣接するノード。

図3に示すように、挿入、欠失および可撓性(ノードポインタ変化限り必ずしもモバイルノード)。

4、遅いシーケンシャルストレージよりチェーンストアノードを探しています。

図5に示すように、各ノードは、ポインタデータフィールドとドメインです。

3.データ記憶構造のインデックス

除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成,如果每个节点在索引表中都有一个索引项,则该索引表就被称为稠密索引。若一组节点在索引表中只对应于一个索引项,则该索引表就成为稀疏索引。索引项的一般形式一般是关键字、地址。在搜索引擎中,需要按某些关键字的值来查找记录,为此可以按关键字建立索引,这种索引就叫做倒排索引(因为是根据关键词来找链接地址,而不是通过某个链接搜索关键词,这里反过来了,所以称为倒排索引),带有倒排索引的文件就叫做倒排索引文件,又称为倒排文件。倒排文件可以实现快速检索,这种索引存储方法是目前搜索引擎最常用的存储方法。

图片发自简书App

存储单词的过程:先在某个地址空间存储单词,然后把该单词的关键词和存储地址存到附加的索引表。

查找某个单词的过程:先根据关键词找索引表,得到数据存储地址。然后再通过存储地址得到数据。

特点:

索引存储结构是用结点的索引号来确定结点存储地址,其优点是检索速度快,缺点是增加了附加的索引表,会占用较多的存储空间。

4.数据散列存储结构

散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键字之间建立确定对应关系的查找技术。比如将汤高这个名字通过一个函数转换成为一个值,这个值就是姓名汤高在计算机中的存储地址,这个函数称为hash函数。hash函数有很多种,今天先不谈。以后再细讲。

散列法存储的基本思想是:它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

 

图片发自简书App

 

特点:

散列是数组存储方式的一种发展,相比数组,散列的数据访问速度要高于数组。要依据数据的某一部分来查找数据时数组一般要从头遍历数组才能确定想要查找的数据位置,而散列是通过函数通过“想要查找的数据”作为“输入”、“数据的位置”作为“输出”来实现快速访问,因此时间复杂度可以认为为O(1),而数组遍历的时间复杂度为O(n)。

逻辑结构是面向问题的,而物理结构就是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中

今天谈的都是最简单的一些基础知识,但也写了一个多小时,马上就22点半了,今天就先谈到这里了。今晚只是谈到了数据结构由来和数据的逻辑结构和物理结构,并没有细致的讲各种结构,后续接着细说今天讲的各种结构和其它算法,欢迎大家关注吐槽



作者:理想是一盏灯
链接:https://www.jianshu.com/p/7db18d3d5d05
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

おすすめ

転載: blog.csdn.net/u013755520/article/details/92079859
おすすめ