首页 > 试题广场 >

单链表的存储密度()

[单选题]
单链表的存储密度()
  • 大于1
  • 等于1
  • 小于1
  • 不能确定
存储密度=单链表数据项所占空间/结点所占空间。 结点所占空间有数据域和指针域组成。故存储密度小于1
发表于 2017-05-20 09:57:50 回复(1)

存储密度=(结点数据本身占的存储量)/(结点整体占的数据量)
定义:在数据结构中,存储密度:结点数据本身所占的存储量和整个结点结构所占的存储量之比。

   存储密度 = (结点数据本身所占的存储量)/(结点结构所占的存储总量)

   在数据结构中,数据元素是数据的基本单位,一般将数据元素定义为一个结点,在结点中包含的有数据部分和非数据部分,比如链表中的指针,存储密度是衡量数据对存储空间利用率的指标,即一个数据元素存储单元中数据所占空间与这个数据元素存储空间的百分比。

typedef struct node{

char data[16];

struct node *next;

} LinkStrNode 以上定义了一个数据结点,这个结点包括两个部分,数据部分:data[16],这是一个字符数组,占16个字节, 非数据部分:*next ,是一个结点指针,设占4个字节,

则以上的存储密度为16/(16+4)=80%
本人理解,链表作为数据的存储结构本身是用来存数据的,存储密度就是节点中数据的存储量与整体的数据量的比值,当然整体的数据量中有指针的占据的空间,如果将一个结点的整体数据量看为1,那么除去指针的占有,它的比值总是小于1的。不知道理解的对不对

发表于 2017-11-25 01:15:07 回复(2)
顶上去
发表于 2017-09-15 20:06:34 回复(0)