首页 > 编程知识 正文

键值存储数据库,大数据云存储论文

时间:2023-05-03 17:16:48 阅读:33592 作者:2204

数据是信息的载体。 它是由计算机识别、存储、加工处理、由计算机程序加工的“原料”。 在数据结构中,数据的存储结构一般分为线性结构和非线性结构。 数据存储表示法一般是指数据存储结构的表示法。 通常采用不同的表示法来表示数据之间的关系。

中文名称

数据存储表示

外语名称

数据存储re presentation

学科

计算机科学的定义

如何查看的存储结构

目的

数据之间的关系

网域

数据结构

数据存储表示法概述

编辑

语音

数据存储对象包含在加工过程中生成的临时文件或在加工过程中必须搜索数据流的信息。 数据以某种形式记录在计算机的内部或外部存储介质中。 必须命名数据存储。 这个名字反映了信息特征的含义。 数据流反映系统中流动的数据,表现动态数据的特征; 数据存储反映系统中的静止数据,并显示静态数据的特征。

在计算机科学中,数据的存储表示是表示数据之间联系的数据存储结构的表示方法。 例如,稀疏矩阵有两种类型的内存表示:相邻矩阵和相邻表,表示数据之间的关系。

数据存储表达数据存储结构

编辑

语音

数据记忆表达的数据结构

数据结构是指数据之间的相互关系,也就是数据的组织形式。

1 .数据结构一般包括以下三个内容。

数据要素之间的逻辑关系。 也称为数据逻辑结构(Logical Structure )。 数据的逻辑结构是从逻辑关系来记述数据的,与数据的存储无关,与计算机独立。 数据的逻辑结构可以看作是从具体问题中抽象出来的数学模型。

将数据要素及其关系在计算机存储器内的表现称为数据的存储结构(Storage Structure )的数据的存储结构是逻辑结构用计算机语言的实现(也称为图像),依赖于计算机语言。 对于机器语言,存储结构很具体。 通常,存储结构只在高级语言级别进行讨论。

数据的运算,即添加到数据中的操作。 的运算定义在数据的逻辑结构中,每个逻辑结构都有运算的集合。 最常见的搜索、插入、删除、更新和排序等运算实际上只是对抽象数据执行的一系列抽象操作。 抽象操作是指我们只知道这些操作“做什么”,而不需要考虑“怎么办”。 只有在确定存储结构后,才考虑如何具体实现这些运算。

数据存储表示的分类

在不引起混淆的前提下,多将数据的逻辑结构简称为数据结构。 数据的逻辑结构有两个类别。

(1)线性结构

线性结构的逻辑特征是,在结构为非空集合的情况下,只有一个开始节点和结束节点,所有节点最多只有一个直接前进和一个直接后续。

线性表是典型的线性结构。 堆栈、队列、字符串等都是线性结构。

)2)非线性结构

非线性结构的逻辑特征是一个节点可以有多个直接前进和直接后续。 数组、广义表、树、图等数据结构均为非线性结构。 [1]

数据存储库表示树的表示

编辑

语音

1、父母表示法

除了根节点之外,树中其他节点只有一个父节点。

数组中的下标用于表示父母节点的位置,或者是左孩子、右孩子还是兄弟姐妹。 当然,这种结构依赖于存储顺序,采用层序遍历。

2、儿童多重链表表示法

这种表示方法有两种。 一种是多链表表示,在每次树中表示一个节点的指针字段数,极大地浪费了内存资源。 第二种是一个节点的指针字段的数量与其孩子的数量(该节点的程度)相等的孩子链表表示法。

3、儿童链表表示法

在多个单链接列表中表示孩子,在同一单链接列表中的孩子有共同的父母。

从孩子的链表表示法派生出来的亲子表示法,是父母表示法和孩子的链表表示法的结合,通过表示孩子和父母、父母和孩子的关系,可以不用遍历就能找到孩子的父母和父母的孩子。

4、完美刺猬表示法

存储区可以分成三个块,中间的块存储节点的数据,左边指向该节点的第一个孩子,右边指向该节点的右兄弟。 [2]

数据存储表示的图像

编辑

语音

具有n个顶点的有向图可以用n'n的方形矩阵表示。 设该矩阵的名称为m,则在有向图中的弧的情况下,M[i,j]=1; 否则M[i,j]=0。 第I个顶点的出度是矩阵的第I行的'1'的个数; 入度为第I列的'1'的个数,有向图的弧的根数与矩阵中的'1'的个数相等。

有向图的邻接矩阵

具有n个顶点的无向图也可以用一个n'n的方形矩阵表示。 设该矩阵的名称为m,在(vi,vj )是该无向图的一个边的情况下,M[i,j]=M[j,i]=1; 否则,M[i,j]=M[j,j]=0。 第I个顶点的度数是矩阵的第I行的'1'的个数或第I列的'1'的个数。 图中边的数量等于矩阵中'1'的数量的一半。 这是因为各边在矩阵中被记述了两次。

在c语言中,实现邻接矩阵表示的类型的定义如下。 #defineMAX_VERTE

X_NUM 20

typedef struct graph

{

Elemtypeelem [MAX_VERTEX_NUM][MAX_VERTEX_NUM];

int n;

}Graph;

边结点的结构为:

adjvex是该边或弧依附的顶点在数组中的下标,next是指向下一条边或弧结点的指针

elem是顶点内容,firstedge是指向第一条边或弧结点的指针。

在C语言中,实现邻接表表示法的类型定义如下所示:#defineMAX_VERTEX_NUM30//最大顶点个数

typestructEdgeLinklist{//边结点

intadjvex;

structEdgeLinklist*next;

}EdgeLinklist;

typedefstructVexLinklist{//顶点结点

Elemtypeelem;

EdgeLinklist*firstedge;

}VexLinklist,AdjList[MAX_VERTEX_NUM];

创建有向图邻接表voidCreate_adj(AdjListadj,intn){

for(i=0;i

scanf(&adj.elem);

adj.firstedge=NULL;

}

scanf(&i,&j);//输入弧

while(i){

s=(EdgeLinklist*)malloc(sizeof(EdgeLinklist));//创建新的弧结点

s->adgvex=j-1;

s->next=adj[i-1].firstedge;//将新的弧结点插入到相应的位置

adj[i-1].firstegde=s;

scanf(&i,&j);//输入下一条弧

}

}voidCreate_adj(AdjListadj,intn){

for(i=0;i

scanf(&adj.elem);

adj.firstedge=NULL;

}

scanf(&i,&j);//输入边

while(i){

s1=(EdgeLinklist*)malloc(sizeof(EdgeLinklist));

s1->adgvex=j-1;

s2=(EdgeLinklist*)malloc(sizeof(EdgeLinklist));

s2->adgvex=i-1;

s1->next=adj[i-1].firstedge;

adj[i-1].firstegde=s1;

s2->next=adj[j-1].firstedge;

adj[j-1].firstegde=s2;

scanf(&i,&j);

}

}

词条图册

更多图册

参考资料

1.

数据结构

.zjzk.cn[引用日期2017-05-24]

2.

严蔚敏.数据结构:清华大学出版社,2010

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。