数据结构
一
数据结构的物理存储结构只有两种:顺序存储和链式存储(像栈、队列、树、堆、图等都是从逻辑结构去抽象的映射到内存中,也是这两种物理组织形式)。
二
顺序存储
如数组 连续的固定长度的空间,通过下标就能快速找到。
链式存储
如二叉树、B树等,底层可能是不连续的内存块,随机或是有序分配,既然不连续那么就要用到指针进行存储来关联内存块。
那么节点上的元素值如何存储
既然内存块已经分配完成也关联了。下一步就是节点上的元素值如何存储
链式存储 节点上的元素值如何存储
那么节点上的元素值如何存储 ,既然内存块已经分配完成也关联了。下一步就是元素值,顺序或是随机放,可以 通过计算元素值来决定元素存到哪个节点上。这需要一些算法如hash哈希 借鉴map存储原理中的数组部分或是后续的红黑树部分。
示例 二叉树
Node 代码定义时有四个属性
id(11)、rightNode(右子孩子指针 21)、leftNode(左子孩子指针 31)、value(节点值 66)
这样 下一个例子 节点11 再被分配和存储时 就已经提前将 右子孩子节点、左子孩子节点的内存地址指针存起来了。其实我们只要知道根节点 就可以找到整棵树的所有节点了,因为每个节点都存储下一个节点的指针地址 所以当然能找到了。
标签:存储,计算机,元素,内存,数据结构,节点,指针 From: https://www.cnblogs.com/wyy1/p/17808400.html