怎么理解,字典是非线性的数据结构?

怎么理解,字典是非线性的数据结构?RT

字典是一种key-value的数据结构,所以对象是一种字典,了解过v8对象的存储和访问原理的同学应该知道,对象的顺序是数值类型的key按照值大小升序排列,字符串和symbol类型的根据赋值顺序决定位置,因此对象的key-value的顺序是不定的,不是线性的结构。

阅读 3.5k
2 个回答

线性结构 是一个有序数据元素的集合。 其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
常用的线性结构有:线性表,栈,队列,双队列,数组等等

非线性结构 中各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可分为层次结构和群结构。
常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图等。

我的理解是,字典虽然是一对一的关系,但它是无序的,所以不满足线性结构的特征。

线性结构有稳定序的的从头到尾的遍历(存储机制)访问模式,非线性的则不一定,
此外线性结构肯定是一维结构的,多维数据结构都不是线性的。
从这里看,字典是key-value对,同一个字典,其存储和遍历在不同具体实现中是不稳定的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏