入门书籍

对于入门的同学不建议过度追求看上去很经典的书籍,例如:《算法导论》/《算法》这些书。可以看一些相对容易看的书来入门,例如《大话数据结构》/《算法图解》。

《大话数据结构》这本书最大的特点是它将理论讲的非常有趣,不枯燥。而且每个数据结构和算法作者都结合生活中的例子进行讲解,虽然这本书有400+页,但是花两天事件读完应该是没有问题的。如果之前完全不懂数据结构和算法,可以从这本书开始。

《算法图解》和《大话数据结构》走得是同样的路线。“像小说一样有趣的算法入门书籍”,通俗易懂。它只有不到200页,所以内容比较少。看看这本书,能够让你对数据结构和算法有 个大概的认识。

入门书籍共同的问题是缺少细节,不够系统,有不够严谨。如果想系统的学习学习数据结构和算法仅靠这两本书是不够的。

《数据结构和算法分析》国内外有很多大学拿这本书当作教材。这本书非常系统/全面/严谨,而且不是特别难,适合对数据结构有一定的了解,同时至少掌握了一门编程语言的人。这本书有三个版本:《数据结构与算法分析:C语言描述》/ 《数据结构与算法分析:C++描述》/ 《数据结构与算法分析:java语言描述》。

如果你熟悉的是其它编程语言可以看一下《数据结构与算法JavaScript描述》/ 《数据结构与算法:Python语言描述》。

面试刷题宝典

《剑指offer》这本书的作者写作目的本明确,就是为来面试。这本书包含来所有常见的/经典的面试体。应付一般的公司的面试应该不成问题。

《编程珠玑》这本书最大的特色就是讲述了很多针对海量数据的处理技巧。这个可能是其它算法书籍很少涉及到的,海量数据的处理问题再面试时也是经常会问的,特别是校招。这本书还是值得一看的。

《编程之美》这本书有多位作者,其中大部分是微软的工程师,所以质量是很有保障的。不过这本书里的题目稍微有点难,也不是很系统。

经典大部头

《算法导论》和《算法》这两本书确实很经典,但是太厚了。如果想深入学习这两本书还是强烈建议看一下的。

《算法导论》这本书安排的不是循序渐进的,里面充斥着各种算法的正确性、复杂性的证明和推倒。一般人看起来会比较吃力的。

《算法》这本书同样是经典的大部头,不过相对于《算法导论》更容易看懂,更适合初学者入门,但是这本书的缺点也很明显,内容不够全面,例如动态规划。对于数据结构的东西讲的不多,基本上就是偏重讲算法。

殿堂级经典

说道殿堂级经典非《计算机程序设计艺术》莫属。这本书的深度、广度、系统性、全面性是其它所有数据结构和算法书籍都无法相提并论。但是如果对于数据结构和算法不感冒,没有很好的数学、算法、计算机基础,想要把这套书读完、吃透还是比较难的。

偶尔加餐

《算法帝国》、《数学之美》、《算法之美》。

数据结构和算法推荐书单相关推荐

  1. 数据结构与算法:单链表(利用万能指针实现对任意类型数据进行操作)

    前言 C语言的指针真的很强大,万能指针更强大,可以指向任意类型的数据.在上篇博客 数据结构与算法:单链表(超详细实现)中用C语言实现了单链表的相关算法,不过却有局限性 只能针对某一种数据类型还是不够强 ...

  2. 数据结构与算法之单链表

    数据结构与算法之单链表 //链表的实现/*实现单链表的 构建.数据添加.数据删除(返回元素所在位置).数据查找(返回元素所在的位置)的算法设计:*/ //链表的实现/*实现单链表的 构建.数据添加.数 ...

  3. 数据结构与算法:单链表(超详细实现)

    实现算法预览 这次博主写的单链表主要实现了以下算法.所有功能可进行循环运行测试.欢迎各位指正. LinkList.h #pragma once #ifndef __LINKLIST_H__ #defi ...

  4. 数据结构与算法之单链表(1)

    在说头插法建立单链表之前,先补充几个知识点: 用typedef定义类型:意思就是可以用typedef声明新的类型名来代替已有的类型名. 例如: typedef struct { int month; ...

  5. 数据结构与算法篇-单链表

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 作者丨写代码的牛顿 来源丨编程学习总站 01 - 单链表结点定义以及操作函数声明 我们知道在C语言里数组 ...

  6. (数据结构与算法)单链表与双链表增删改查的实现。

    文章目录 链表介绍 1. 单链表应用实例 1.1 实现思路 1.2 代码实现 2.单链表常见面试题 2.1 求单链表中有效节点的个数 2.2 查找单链表中倒数第K个节点 2.3 单链表的反转 2.4 ...

  7. 数据结构和算法之单链表

    package com.company;import java.util.Stack;/*** @author:抱着鱼睡觉的喵喵* @date:2021/2/4* @description:*/ pu ...

  8. java宋江,Java编程内功-数据结构与算法「单链表」,

    package com.structures.linkedlist; public class SingleLinkedListDemo { public static void main(Strin ...

  9. 【数据结构与算法】单链表的Java实现

    链表 数据结构的逻辑表示有4种类型: 集合:元素之间无关 线性:元素之间1->1的关系 树:元素之间1->many的关系 图:元素之间many->many的关系 最基础的线性结构的简 ...

最新文章

  1. flash build 4.6 不能debug 报错 C:\WINDOWS\system32\...
  2. ABP理论学习之授权(Authorization)
  3. Qt Creator编辑状态图
  4. 安装apache2.4.10
  5. 【Python】判断字符串中是否含有某个子串
  6. linux复制以a开头的文件,linux部分试题
  7. python连接SQLServer数据库,执行给定的查询SQL语句,并返回查询结果数据
  8. 优秀案例︱鹏业安装算量软件在中天·未来方舟项目的应用
  9. 4K秒开,稀缺宝藏影视APP!
  10. vue created钩子使用后台数据赋值给data里的变量,报错‘undefined’
  11. 黑马点评关键业务流程梳理一
  12. 硬盘分类及挂载硬盘知识补充和介绍
  13. MyBatis批量插入几千条数据,慎用Foreach
  14. 他俩很般配应该这么说
  15. 敏捷计划:是一个多层次的计划洋葱
  16. 实用技巧:利用Excel实现客户档案的统一管理
  17. 百度十周年感想 和 人计算
  18. ExcelKit导入,导出
  19. 基于Python多元线性回归、机器学习、深度学习在近红外光谱分析中的实践应用
  20. Web3.0和元宇宙之间有什么联系?为什么说Web3.0是基础?

热门文章

  1. java boolean长度_boolean类型长度
  2. 【2】Pretrained Transformer As Universal Computation Engines
  3. 英语音标学习_B站周育如老师
  4. Datawhale 零基础入门数据挖掘心跳信号分类学习反馈02
  5. mysql 1060指定的服务未安装_SQL安装错误 Process Exit Code: (1060) 指定的服务未安装...
  6. 软件设计师——结构化开发与方法
  7. 机器学习入门-用KNN实现手写数字图片识别(包含自己图片转化)
  8. 人工智能:人工神经网络的应用场景
  9. 有n个人围成一圈 顺序排号 java_java基础编程题有n个人围成一圈顺序排号
  10. Cesium立体建筑物闪烁效果