我们数据结构的课用了这本英文教材,作者是Mark Allen Weiss。总体来说比《算法导论》简单很多,但内容上交集非常大。其实是因为去掉了大多数证明和数学,对于没有耐心看符号和公式的人,显得更友好,更通俗。其中的代码实现很靠谱,照着敲出来基本正确可运行,这点尤其适合入门者。

不过现在读《算法导论》以后,感到还是应该沉下心来和公式、定理神马的打打交道。Mark Allen Weiss这本书确实适合大一和大二的同学看,大三就不适合了。

深深地明白了为什么大神说“算法导论其实很浅显”,是数学底子薄弱导致我无法感受到它的浅显。

下面是已经写过的读书笔记。

其中的高级数据结构部分我稍后会补上的,即使不常用,很繁琐,也力求亲手实现一遍吧。畏难情绪和拖延症是目前的两大对手。

相关源码可以在此找到:https://github.com/zhuli19901106/Data-Structures-and-Algorithm-Analysis-in-C

《数据结构与算法分析:C语言描述》复习——第三章“线性表、栈和队列”——双向链表

《数据结构与算法分析:C语言描述》复习——第三章“线性表、栈和队列”——队列

《数据结构与算法分析:C语言描述》复习——第三章“线性表、栈和队列”——单向链表

《数据结构与算法分析:C语言描述》复习——第三章“线性表、栈和队列”——栈

《数据结构与算法分析:C语言描述》复习——第四章“树”——二叉树

《数据结构与算法分析:C语言描述》复习——第四章“树”——二叉搜索树

《数据结构与算法分析:C语言描述》复习——第四章“树”——AVL树

《数据结构与算法分析:C语言描述》复习——第四章“树”——伸展树

《数据结构与算法分析:C语言描述》复习——第五章“堆”——二叉堆

《数据结构与算法分析:C语言描述》复习——第六章“排序”——冒泡排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——选择排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——插入排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——希尔排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——堆排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——归并排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——快速排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——桶排序

《数据结构与算法分析:C语言描述》复习——第六章“排序”——基数排序

《数据结构与算法分析:C语言描述》复习——第七章“哈希”——哈希表

《数据结构与算法分析:C语言描述》复习——第八章“并查集”——并查集

《数据结构与算法分析:C语言描述》复习——第九章“图论”——拓扑排序

《数据结构与算法分析:C语言描述》复习——第九章“图论”——无权值的最短路径问题

《数据结构与算法分析:C语言描述》复习——第九章“图论”——单源带权最短路径问题

《数据结构与算法分析:C语言描述》复习——第九章“图论”——多源最短路径问题

《数据结构与算法分析:C语言描述》复习——第九章“图论”——最大流问题

《数据结构与算法分析:C语言描述》复习——第九章“图论”——Prim算法

《数据结构与算法分析:C语言描述》复习——第九章“图论”——Kruskal算法

《数据结构与算法分析:C语言描述》复习——第九章“图论”——割点

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Huffman编码

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——平面最近点对

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Strassen矩阵乘法

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——矩阵连乘问题

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——质数检验

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——收费站重建问题

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——跳表

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——拿石头游戏

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Minimax策略

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Alpha-Beta剪枝

《数据结构与算法分析:C语言描述》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. Android数字签名解析(一)

     一.数字签名概述 所谓"数字签名"就是通过某种password运算生成一系列符号及代码组成电子password进行签名,来取代书写签名或印章. 数字签名有两种功效:一是能确定消息 ...

  2. gluon 实现多层感知机MLP分类FashionMNIST

    from mxnet import gluon,init from mxnet.gluon import loss as gloss, nn from mxnet.gluon import data ...

  3. IP检验字段为啥只检验地址部分

    在首部中的错误比在数据中的错误更重 如:一个错误的地址可能导致分组被投递到错误的主机.许多主机并不检查投递给它们的分组是否 确定是要投递给它们,它们假定网络从来不会把别人的分组包传递给自己.数据不参加 ...

  4. MySQL数据库常见报错原因

    1.启动数据库时报错 启动 # /etc/init.d/mysqld start Starting MySQL.Logging to '/application/mysql-5.6.36/data/m ...

  5. github 常用

    1.创建KEY,这个文件生成完了后,要保存好公钥和私钥文件 ssh-keygen -t rsa -C "abc@mail.com" 2.github上添加ssh密钥 3.拷贝公钥信 ...

  6. redis相关目录

    redis的docker化安装 redis的主从配置

  7. djangorestframework怎么这么好用!

    一年前就已经用过restframework, 当时觉得这个只是给web框架打辅助的, 他能实现的我也都实现(可能没有那么好用, 嘿嘿) 但是我有一种东西叫做效率, 时间就是金钱, 别人造好的就直接用就 ...

  8. EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。

    EpiiAdmin EpiiAdmin php开源交互性管理后台框架,基于Thinkphp5.1+Adminlte3.0+Require.js, 让复杂的交互变得更简单!Phper快速搭建交互性平台的 ...

  9. for循环小练习

    for循环是前测试循环语句 for(初始值:判定条件:步长){ 循环语句 } For循环原理: For循环第一次执行:首先执行语句1,然后执行语句2,如果条件为真,向内执行执行循环语句3. 如果条件为 ...

  10. hadoop2.5.0 HA高可用配置

    hadoop2.5.0 HA配置 1.修改hadoop中的配置文件 进入/usr/local/src/hadoop-2.5.0-cdh5.3.6/etc/hadoop目录,修改hadoop-env.s ...