怎么理解,字典是非线性的数据结构?RT
字典是一种key-value的数据结构,所以对象是一种字典,了解过v8对象的存储和访问原理的同学应该知道,对象的顺序是数值类型的key按照值大小升序排列,字符串和symbol类型的根据赋值顺序决定位置
,因此对象的key-value的顺序是不定的,不是线性的结构。
怎么理解,字典是非线性的数据结构?RT
字典是一种key-value的数据结构,所以对象是一种字典,了解过v8对象的存储和访问原理的同学应该知道,对象的顺序是数值类型的key按照值大小升序排列,字符串和symbol类型的根据赋值顺序决定位置
,因此对象的key-value的顺序是不定的,不是线性的结构。
线性结构有稳定序的的从头到尾的遍历(存储机制)访问模式,非线性的则不一定,
此外线性结构肯定是一维结构的,多维数据结构都不是线性的。
从这里看,字典是key-value对,同一个字典,其存储和遍历在不同具体实现中是不稳定的。
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读
线性结构 是一个有序数据元素的集合。 其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
常用的线性结构有:线性表,栈,队列,双队列,数组等等
非线性结构 中各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可分为层次结构和群结构。
常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图等。
我的理解是,字典虽然是一对一的关系,但它是无序的,所以不满足线性结构的特征。