数据结构在计算机内存中的表示是指啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构在计算机内存中的表示是指啥?相关的知识,希望对你有一定的参考价值。

数据结构在计算机内存中的表示是指什么?

数据结构在计算机内存中的表示指的是数据的存储结构。

数据的存储结构是指数据的逻辑结构在计算机中的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。

1、顺序存储方法:

它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。

2、链接存储方法:

它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

扩展资料

顺序存储和链接存储的基本原理:

1、在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储。

若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。在链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。

2、数据的链式存储结构可用链接表来表示。其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。

通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。

在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,只有当访问到其前驱结点或后继结点后才能够按指针访问。

参考资料来源:百度百科-存储结构

参考技术A

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

数据结构包含3个方面的内容:

1、数据的逻辑结构:即数据元素之间的逻辑关系,可看做是从具体问题抽象出来的数学模型。

2、数据的存储方式:数据元素及其逻辑关系在计算机存储器中的表现形式。

3、数据的运算:对数据施加的操作。

扩展资料

一、数据结构是一个有机的整体

数据的逻辑结构、存储结构和运算是一个整体,单独去理解其中任何一个都是不全面的,因为:

1、同一个逻辑结构可以有不同的存储结构。

2、同一种逻辑结构也可以有不同的数据运算集合,即任何一个发生变化都会产生一个全新的数据结构,他们是有机的整体,缺一不可。

二、数据结构的存储方式

1、顺序存储方式:就是数据在连续的内存区域顺序存放,一般是数组的方式。

2、链式存储方式:一般是链表的方式。

3、索引存储方式:采用附加的索引表来存储结点信息。

4、散列存储方式:根据节点的关键字直接计算出该结点的存储地址的存储方式。

参考资料来源:百度百科-数据结构

参考技术B 你好!!!

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。

设计好的代码必须要有好的设计方法:可以更具不同的需求选择不同的方法:比如:要想实现随机查询,那么可以选择数组(即顺序表),缺点就是删除元素的时候,需要移动后面的元素,但是链表的删除元素就很快,效率也很高,但是查找元素就很费时,所以选择数据的不同的组织形式(数据的在计算机里的表示形式)需要更具不同的需求。

常用数据结构
数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
栈 (Stack)
是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
队列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
链表 (Linked List)
是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
树 (Tree)
是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件: (1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)。 (2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。 (3)K中各结点,对关系N来说可以有m个后继(m>=0)。
图 (Graph)
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。本回答被提问者和网友采纳
参考技术C 数据结构在计算机内存中的表示是指数据结构的存储方式,有顺序存储和链接法(用指针反映数据之间的关系)。 参考技术D 数据表示指的是能由计算机硬件直接识别和引用的数据类型。

哈夫曼树中的“权值”是指啥?

哈夫曼树是一种带权路径长度最短的二叉树。
也就是所有结点权值和路径长度乘积的总和最小。
那么什么是“权值”呢?
顺便问一下什么是“B树”
数据结构中的“哈夫曼树”有点没搞懂.
晕了~~~~。。。。。。
能不能说得好理解一点。尤其是权值。

权值就是定义的路径上面的值。可以这样理解为结点间的距离。通常指字符对应的二进制编码出现的概率。

 

至于哈夫曼树中的权值可以理解为:权值大表明出现概率大!

 

哈夫曼树(霍夫曼树)又称为最优树。 

1、路径和路径长度

在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。

2、结点的权及带权路径长度

若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。

3、树的带权路径长度

树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。

 多叉哈夫曼树

哈夫曼树也可以是k叉的,只是在构造k叉哈夫曼树时需要先进行一些调整。构造哈夫曼树的思想是每次选k个权重最小的元素来合成一个新的元素,该元素权重为k个元素权重之和。但是当k大于2时,按照这个步骤做下去可能到最后剩下的元素少于k个。解决这个问题的办法是假设已经有了一棵哈夫曼树(且为一棵满k叉树),则可以计算出其叶节点数目为(k-1)nk+1,式子中的nk表示子节点数目为k的节点数目。于是对给定的n个权值构造k叉哈夫曼树时,可以先考虑增加一些权值为0的叶子节点,使得叶子节点总数为(k-1)nk+1这种形式,然后再按照哈夫曼树的方法进行构造即可。

参考技术A 权值就是指的一个节点的权重,比如把哈树应用在编码中 权重就可以理解为码出现的概率等等。本回答被提问者采纳 参考技术B A,B,C,A-B=2 B-C=3,,A,C不相连,AB的权值就是2,AC的权值就是5了。
B树删除:http://student.zjzk.cn/course_ware/data_structure/web/flashhtml/bshushanchu.htm

B树生成:http://student.zjzk.cn/course_ware/data_structure/web/flashhtml/bshushengzhang.htm
参考技术C 从根到一点的距离,一般在线边上写着的数。

B树想不起来了。
参考技术D 什么意思

以上是关于数据结构在计算机内存中的表示是指啥?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中的常量是指啥?

HTML是指啥

平台的兼容性是指啥

微型计算机的主频很大程度上决定了计算机的运行速度,它是指啥?

图像格式中的Alpha通道是指啥?

tcp/ip是指啥?有啥用?上哪可以设置?