我们数据结构的课用了这本英文教材,作者是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. codeforces 676C

    C. Vasya and String time limit per test 1 second memory limit per test 256 megabytes input standard ...

  2. Uva 11600 期望DP

    题意:n个城市,相互可达(有n(n-1)/2条边),其中有一些道路上面有妖怪,现在,从1号城市出发,随机挑取一个城市走去,这个道路上的妖怪就会被消灭,求: 在平均情况下,需要走多少步,使得任意两个城市 ...

  3. 【转】Mac本地生成SSH Key 的方法

    1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除,   也可以直接删除, 2.生成新的秘钥, 命令如下 $ssh-keygen ...

  4. How to Create a Basic Plugin

    Sometimes you want to make a piece of functionality available throughout your code. For example, per ...

  5. Object C学习笔记23-继承,重写,重载(转)

    前面的学习都一直在使用Object C对象,但是没有具体总结过Object C中的对象使用特性,这里简单总结一下. 一.  继承 在面向对象编程中,子类可以通过继承得到父类的可以继承的的属性和方法,在 ...

  6. CF294C Shaass and Lights(排列组合)

    题目描述 There are n n n lights aligned in a row. These lights are numbered 1 1 1 to n n n from left to ...

  7. 【PTA 天梯赛训练】修理牧场(哈夫曼树+优先队列)

    农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i​​的总和. 但是农夫自己没有锯子,请 ...

  8. 如何用hexo搭建个人博客. 亲测有效

    搭建博客: 安装node.js和git 以管理员身份进入cmd. 输入:  npm install -g cnpm --registry=https://registry.npm.taobao.org ...

  9. A^B Mod C (51Nod - 1046 )(快速幂)

    给出3个正整数A B C,求A^B Mod C.   例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^ ...

  10. tomcat端口占用后的解决办法【亲测有效】

    https://www.cnblogs.com/zhangtan/p/5856573.html 检测正在使用的端口   这里就以win7为例进行讲解. 首先打开cmd,打开的方法很简单,在开始菜单中直 ...