从严格的实现和计算机科学的角度来看,您将如何对 Php 数组数据结构进行分类?它是一个关联数组吗?哈希?一本字典?... ?
Robert Gould
问问题
501 次
4 回答
8
从PHP 手册:
PHP 中的数组实际上是一个有序映射。映射是将值与键相关联的类型。这种类型针对几种不同的用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。
于 2009-01-27T09:52:03.700 回答
3
好吧,这取决于您希望如何对其进行分类。我会选择按操作性能分类。
例如,计算机科学术语中的真实数组的查找时间为 O(1),而链表的查找时间为 O(n)。插入和删除在链表中是 O(1),而在数组中是 O(n)。
我不确定 PHP 数组的实际性能是什么,但是如果您测量它们的一些基本操作并将它们与“真正的计算机科学数据结构”的预期进行比较,您应该能够对其进行分类。
于 2009-01-27T10:47:32.917 回答
1
在我看来,定义它有点困难。虽然,我认为我会将其归类为关联数组,因为大多数为关联数组定义的操作都可用于 PHP 数组。
于 2009-01-27T07:42:46.270 回答
0
这取决于您真正想要定义的内容。字典或映射是指数据类型的行为,而哈希映射是指其特定实现。术语数组有点色彩 - 严格来说,它指的是具体实现,而列表是指任何类似数组的数据类型的通用术语。然而,使用array作为list的同义词是很常见的。
于 2009-01-27T17:04:07.837 回答