Data structures 为什么计算机科学中所有的基本数据结构本质上都是递归的?

Data structures 为什么计算机科学中所有的基本数据结构本质上都是递归的?,data-structures,recursion,computer-science,computer-science-theory,Data Structures,Recursion,Computer Science,Computer Science Theory,我注意到计算机科学中的每个基本数据结构在本质上都是递归的。e、 g.图形、列表、数组、集合等 为什么呢?有什么根本原因吗?是因为通过归纳法更容易证明递归数据结构的属性吗?不必这样,也可以在循环中编写。只是结构A的指针必须位于结构A内部。它与我们在现实生活中解决许多问题的方式相匹配:数组和集合在本质上肯定不是递归的(尽管某些集合实现可能涉及递归记录)。在集合的情况下,即使它们强烈基于的数学概念(也称为集合)也是非递归的。注意,即使数据结构不是(例如,考虑数组上的插入排序),一个算法仍然可以通过归纳

我注意到计算机科学中的每个基本数据结构在本质上都是递归的。e、 g.图形、列表、数组、集合等


为什么呢?有什么根本原因吗?是因为通过归纳法更容易证明递归数据结构的属性吗?

不必这样,也可以在循环中编写。只是结构A的指针必须位于结构A内部。它与我们在现实生活中解决许多问题的方式相匹配:数组和集合在本质上肯定不是递归的(尽管某些集合实现可能涉及递归记录)。在集合的情况下,即使它们强烈基于的数学概念(也称为集合)也是非递归的。注意,即使数据结构不是(例如,考虑数组上的插入排序),一个算法仍然可以通过归纳证明来证明。有人能说集合本质上是递归的,因为子集仍然是集合吗?或者子数组仍然是一个数组?@vg1我会说,它使子集和子数组递归定义,或者等价地,人们可以递归地考虑这些操作。当然,这意味着许多算法可以被认为是递归的。但是数组和集合的定义只是一组简单的“值”。