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

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 30636   Accepted: 9162 Descr ...

  2. 【[HAOI2011]Problem c】

    好题啊 先考虑一些如何判掉无解的情况 我们开一个桶,存一下每个编号有多少个人必须选,之后做一个后缀和,之后我们扫一遍,如果一旦有一个后缀和\(pre[i]\)超过\(n-i+1\)就不合法了,因为我们 ...

  3. 2018.10.30 mac环境下卸载和安装mysql及安装过程遇到的一些问题解决方案

    Mac下mysql的安装与卸载 配置初始化密码修改 第一:首先去官网网站下载Mysql软件 https://downloads.mysql.com/archives/community/ 记住选择对应 ...

  4. 2017.9.1 Java中的程序方法

    今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 * ...

  5. likelihood(似然) and likelihood function(似然函数)

    知乎上关于似然的一个问题:https://www.zhihu.com/question/54082000 概率(密度)表达给定下样本随机向量的可能性,而似然表达了给定样本下参数(相对于另外的参数)为真 ...

  6. HashMap的工作原理-hashcode和equals原理的再次深入

    前言 首先再次强调hashcode (==)和equals的真正含义(我记得以前有人会说,equals是判断对象内容,hashcode是判断是否相等之类): equals:是否同一个对象实例.注意,是 ...

  7. response.Close、response.End、response.Flush区别

    今天在做文件下载功能用到的是response的方法,首先我们要了解这些方法的作用. 1.response.write():将信息写入http响应输出流. 2.response.Flush:向客户端发送 ...

  8. 【题解】洛谷P2926 [USACO08DEC]拍头Patting Heads

    洛谷P2926:https://www.luogu.org/problemnew/show/P2926 思路 对于每一个出现的数 从1到Max 凡是这个数的倍数 那么ans就加上他的个数 PS:最后要 ...

  9. HDU 1222 Wolf and Rabbit(数学,找规律)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  10. U盘安装centOS和下载地址

    使用到的材料: 1.centos-6.2 i386 minimal 下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-m ...