
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发语言,而今天我们就通过案例分析来了解一下,软件开发数据结构类型分析。
数据的逻辑结构描述的是数据之前的联系,是独立于计算机的,我们上面讨论的线性表的逻辑结构属于线性逻辑结构,属于"一对一"的,这里所说的一对一指的就是上面所提到的逻辑特征所描述的。数据结构从逻辑结构上划分大致上就可以分成线性结构和非线性结构,其实还可以做更为细致的划分,像下面这样:
那看来当我们谈起数据结构的时候,主要说的还是数据结构的逻辑结构呀。
接下来我们来讨论一下数据的存储结构,数据的存储结构又称物理结构,是数据及其逻辑结构在计算机中的表示方式,指数据该如何在计算机中存放,事实上是内存单元分配,在具体实现时用计算机语言中的数据类型来描述。
我们思考一下存储数据应该存些什么?怎样去存,存数据不仅仅要保存数据本身的值,还要保存数据间的联系,这样才能把相关问题的所有信息都存储完整。保存数据间联系的目的,是可以通过这种联系找到与之相连的元素。其次我们在计算机存储数据的目的是为了对它们进行处理,如果存进机器了但要用的时候找不到,数据的存储就失去了意义,这里"找到"的含义是一个是能够找到能与之相连的数据元素,所以,数据结构的存储结构的设计应该基于下面两个原则:
存数值,存联系
存的进,取的出
众所周知,我们的程序在运行之后,是被加载进入内存的,大多数情况下程序运行时的数据都驻留在内存中,那么我们该如何审视内存呢,我的想法是我们应该对内存进行抽象,可以将内存理解为一个数组,数组的下标是该内存的地址,有的高级语言一开始就像操作系统申请了一大份内存空间(像Java、C#),而有的语言则是需要了再向操作系统所申请像(C,C++)。
所以我们可以理解为操作系统向我们提供的初的就是顺序存储结构,在这个基础上衍生了链式存储结构、索引存储结构、散列存储结构等。
顺序存储结构:连续顺序地存放数据元素,物理内存结构上,数据之间是相邻的。若数据的逻辑结构也是顺序(线性的),则逻辑结构和存储结构完全统一了。连续存放的数据元素可以很容易地在内存中找到。
链式存储结构:链式存储结构很像火车,将每节车厢视作一个数据元素,那每节车厢还持有指针项(即铁索)。元素在内存中不一定连续存放,在元素中附加指针项,通过指针可以找到与之逻辑相连的数据元素的实际位置。
索引存储结构:索引存储方法是存储结点信息的同时,建立一个附加的索引表。索引表中的每一个索引项,索引项的一般形式是:(关键字,地址)
散列存储结构:散列处处方式,以结点的关键字做自变量,通过函数关系F,直接算出该结点的存储地址:结点地址=F(关键字),这个有的时候也被称为散列算法。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。