首页 > 试题广场 >

按存储空间的可变特性,可把数据结构的存储模式分为()

[单选题]

按存储空间的可变特性,可把数据结构的存储模式分为()

  • 静态存储和动态存储
  • 线性存储和非线性存储
  • 顺序存储和链式存储
  • 内存存储和外存存储
推荐
A
  • A选项:静态存储指在程序运行期间分配固定的存储空间的方式,存储空间并一直保持不变;动态存储是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放
  • B选项:线性存储和非线性存储属于逻辑数据结构的表示方式和关联关系(一对多,一对一等),和存储空间分配无关。
  • C选项:顺序存储和链式存储属于物理存储的内存地址连续性和非连续性关系,和空间的可变特性无关。
  • D选项:内存存储和外存存储属于计算机执行读写操作程序和文件的概念,内存速度远快于外存。和空间可变特性无关。

编辑于 2019-08-05 14:30:44 回复(0)
感觉是Aqaq,因为根据题意里的“可变特性”,所以应该是静态和动态的区别(就像线段树就可以分为静态和动态开点一样
发表于 2019-08-02 15:05:20 回复(0)
A.
        动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、 释放形参变量的存储单元。
        静态存储方式是指在程序编译期间分配固定的存储空间的方式。该存储方式通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。全局变量,静态变量等就属于此类存储方式。
        从以上分析可知, 静态存储变量是一直存在的, 而动态存储变量则时而存在时而消失。
        关于C选项我觉得顺序存储和链式存储分别是静态和动态分配存储空间,但存储空间本身不可变。

发表于 2019-08-02 16:25:02 回复(0)
觉得是C
我觉得链式存储符合题目中的可变特性。
链式存储的删除加入都很方便,直接修改指针
发表于 2019-08-02 15:08:34 回复(0)

选A

考查数据结构的分类方式

A选项:按照存储空间的可变性可分为静态存储和动态存储。

静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。

B选项:按照存储空间的逻辑结构可分为线性存储和非线性存储。

线性结构是一个有序数据元素的集合。 其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。非线性结构中各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可分为层次结构和群结构。

C选项:按照存储空间的存储结构可分为顺序存储,链式存储,索引存储和散列存储。

顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。
链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。
散列存储是直接将关键字的值做一个映射到存储地址。
索引存储则是另外使用关键字来构建一个索引表(也可以是单级,也可以是多级的),先在索引表中找到存储位置后,再访问内容。

D选项:按照计算机存储器分可以分为内存存储,外存存储和只读存储器三类。

内存的读取速度快,容量小,成本高,停电丢失所有数据。
外存的读取速度慢,容量大,可永久存放数据,停电不丢失,因此文件一般都存放在外存中,运行时调进内存使用。外存就用来作为内存条的辅助使用,外存也称为辅存。
只读存储器,只能读出数据,不能修改数据。用于存放不需要修改长期使用的数据,例如在系统运行之前,作为最基本的导引,或者硬件的工作设定等等。

编辑于 2019-08-03 09:17:09 回复(0)
选A 静态存储和动态存储

发表于 2019-08-02 21:51:27 回复(0)
这个问题,关键在字眼“可变特性”上。个人觉得1和3都是解释得通的选项。

静态存储是指在一开始分配变量空间时必须指定分配大小,在程序运行之后就无法改变变量所分配的空间大小和位置,例如数组。
动态存储是相对于静态存储而言的,在程序运行时可随时根据需要申请或释放空间,例如容器。
所以,按可变特性来说,静态存储和动态储存符合题意。

但如果换一个角度,从存储空间的连续性(即存储空间是固定一成不变的还是可变的)来分析,顺序储存和链式储存也符合题意。因为从这个角度来说,顺序存储就是数组,很显然其存储空间是固定不变的;而链式存储可随时根据需要开辟新结点,而且新结点的空间位置还可以不连续,理论上是可分配到任意位置的(在分配成功前提下)。因此,由于链式存储在空间分配的大小、位置上可变,所以也符合题意。

综上所述,1和3都可选。只能说这道题出得不够严密,有待商榷。
发表于 2019-08-02 16:22:56 回复(0)
A
发表于 2019-08-02 15:38:47 回复(0)