前 言
数据结构求解问题的思路是“数据逻辑结构→存储结构→基本算法实现→应用”,这一思路展示了计算逻辑思维,也就是用计算机求解问题的基本过程。
编程的第一步需要理解问题本身,提炼出数据逻辑结构和相关运算;然后实现数据的机内表示,也就是数据的存储结构设计,好的存储结构设计会达到事半功倍的效果;最后在存储结构上实现数据的运算,即算法实现。
常用的数据结构有线性表、栈、队列、串、树、二叉树和图等,除了围绕这些数据结构的基本运算算法设计外,还包含查找和排序算法设计。
在面试笔试中数据结构的考点主要包含两个方面:一是常用数据结构的基本知识点,包括各种数据结构的逻辑特点、存储方式和运算算法,如一个城市图的存储、在城市图中查找两个城市之间的最短路径等;二是常用数据结构的应用知识点,能够熟练地利用数据结构解决问题,如用栈或者队列求解迷宫问题,用栈求解皇后问题等。
很多数据结构都是递归数据结构,递归也是求解问题的基本方法,所以面试者必须具有递归算法设计能力,掌握从递归模型、递归算法执行过程到递归算法设计的一般方法,为二叉树、图等复杂数据结构算法设计打下坚实的基础。
本书系统归纳了数据结构常见的知识要点,汇集国内外众多著名IT企业近几年的数据结构面试笔试真题并予以解析,透彻地剖析了难点和疑点,每道面试题给出了难度标识,从一星到五星难度依次递增。
在本书的编写过程中参考了众多网站和博客,无法一一列出,在此编者表示衷心感谢。
限于编者水平,书中难免存在遗漏,恳请读者批评指正,编者的联系邮箱是licb1964@126.com。
编 者
2018年3月
more >