每日一博 | 多图,一文了解 8 种常见的数据结构
前几天和丙弟交流,他说我们写作的人都是在不停地燃烧自己,所以需要不停地补充燃料。对于他的观点,我不能再苟同了——所以我开始狂补计算机方面的基础知识,这其中就包括我相对薄弱的数据结构。 百度百科对数据结构的定义是:相互之间存在一种或多种特定关系的数据元素的集合。定义很抽象,需要大声地朗读几遍,才有点感觉。怎么让这种感觉来得更强烈,更亲切一些呢?我来列举一下常见的 8 种数据结构,数组、链表、栈、队列、树、堆、图、哈希表。 这 8 种数据结构有什么区别呢? ①、数组 优点: 按照索引查询元素的速度很快; 按照索引遍历数组也很方便。 缺点: 数组的大小在创建后就确定了,无法扩容; 数组只能存储一种类型的数据; 添加、删除元素的操作很耗时间,因为要移动其他元素。 ②、链表 《算法(第 4 版)》一书中是这样定义链表的: 链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该节点还有一个元素和一个指向另一条链表的引用。 Java 的 LinkedList 类可以很形象地通过代码的形式来表示一个链表的结构: publicclassLinkedList<E&...
