常见的8中数据结构
原文: The top data structures you should know for your next coding interview 译者: Fundebug 本文采用意译,版权归原作者所有 1976 年,一个瑞士计算机科学家写一本书 《Algorithms + Data Structures = Programs》 。即:算法 + 数据结构 = 程序。40 多年过去了,这个等式依然成立。 很多代码面试题都要求候选者深入理解数据结构,不管你来自大学计算机专业还是编程培训机构,也不管你有多少年编程经验。有时面试题会直接提到数据结构,比如“给我实现一个二叉树”,然而有时则不那么明显,比如“统计一下每个作者写的书的数量”。 什么是数据结构? 数据结构是计算机存储、组织数据的方式。对于特定的数据结构(比如数组),有些操作效率很高(读某个数组元素),有些操作的效率很低(删除某个数组元素)。程序员的目标是为当前的问题选择最优的数据结构。 为什么我们需要数据结构? 数据是程序的核心要素,因此数据结构的价值不言而喻。无论你在写什么程序,你都需要与数据打交道,比如员工工资、股票价格、杂货清单或者电话本。在不同场景下,数据需要以特定的方式存储,我们有不同的数据结构可以满足我们的需求。 8 种常用数据结构 数组 栈 队列 链表 图 树 前缀树 哈希表 1. 数组 数组(Array