第 8 章 集合
记得大学计算机老师曾告诉我们“程序=数据结构+算法”,记得学过很多数据结构的算法,例如数组(array)、栈(stack)、队列(queue)、链表(linked list)、树(tree)、图(graph)、堆(heap)和哈希表(hash)等结构。这些数据结构的本质是一个集合,可以按照它们的算法对集合中的数据进行添加、删除、排序等集合运算。不同的结构对应于不同的算法,有的考虑节省占用空间,有的考虑提高运行速度,对于程序员而言,它们就像是“熊掌”和“鱼肉”,不可兼得!提高运行速度往往是以牺牲空间为代价的,而节省占用空间往往是以牺牲运行速度为代价的。
Swift中提供了两种数据结构的实现:数组和字典。字典也叫映射或哈希表。这两种结构很有代表性,所以Swift主要提供了这两种结构的实现。