数据结构作为拓扑空间:MGS 语言的探索
1. 引言
在传统观念里,数据结构是对数据集进行的一种组织形式,常以对 $(o, D)$ 来表示,其中 $o$ 是组织方式,$D$ 是数据集。不过,我们更关注组织方式 $o$ 本身,将其视为一组位置,而不考虑这些位置是否被 $D$ 中的元素占据。
从数据场的角度来看,数据结构是一个从位置集合到值集合的函数。以往数据场主要聚焦于数组,以 $\mathbb{Z}^n$ 作为位置集合。我们的目标是在同一框架下,独立于值集合来定义表示树、数组或多重集的位置集合。
1.1 数据结构与邻域
为了定义数据组织,我们采用拓扑视角,将数据结构看作一个空间,计算就在这些位置之间移动。这种拓扑方法依赖邻域的概念来指定从一个位置到其相邻位置的移动。以下是不同数据结构中邻域的体现:
1. 单链表 :元素按线性顺序访问,后一个元素在前一个元素之后。
2. 循环缓冲区或双向链表 :计算可以从前一个元素移动到后一个元素,或者相反。
3. 树 :从一个节点可以访问其子节点。
4. 图 :在遍历图时,顶点 $V$ 的邻接顶点在 $V$ 之后被访问。
5. 记录 :各个字段在局部相关,可通过标识符命名这种局部性。
6. 数组 :数组元素之间的邻域关系隐含在数组数据结构中,通过索引代数实现邻域访问,如整数元组的线性映射 $\lambda x. x \pm 1$(“冯·诺依
超级会员免费看
订阅专栏 解锁全文
525

被折叠的 条评论
为什么被折叠?



