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

    题意: 求任意一个区间的SG函数. 想到线段树,但是线段树合并很麻烦. 线段树——分块. 分块的一个应用就是莫队算法. 怎么暴力递推呢? 从一个区间到另一个区间,Ans 取决于 Ans 和 加入和删除 ...

  2. HDU 6103

    题意: 求最长的两个不相交的子序列,dis <= m : 分析: 当时二分了答案,暴力匹配,TLE了,然后考虑了,O(n^2)预处理出所有区间 dis,然后答案是所有dis中>=m的最长长 ...

  3. 转载:C/C++ typedef用法

    原文链接:http://www.cnblogs.com/ggjucheng/archive/2011/12/27/2303238.html 引言 typedef 声明,简称 typedef,为现有类型 ...

  4. o'Reill的SVG精髓(第二版)学习笔记——第九章

    第九章:文本 9.1 字符:在XML文档中,字符是指带有一个数字值的一个或多个字节,数字只与Unicode标准对应. 符号:符号(glyph)是指字符的视觉呈现.每个字符都可以用很多不同的符号来呈现. ...

  5. JavaScript中的Map和Set

    JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Numbe ...

  6. Oracle数据库中 to_date()与to_char()函数的用法

    to_date() ,to_char()与24小时制表示法及mm分钟的显示: 一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH: ...

  7. javascript 六种基本数据类型转换

    javascript 六种基本数据类型转换 1.显式转换 通过手动进行类型转换,Javascript提供了以下转型函数: 转换为数值类型:Number(mix).parseInt(string,rad ...

  8. 2018 Wannafly summer camp Day3--Knight

    Knight 题目描述: 有一张无限大的棋盘,你要将马从\((0,0)\)移到\((n,m)\). 每一步中,如果马在\((x,y)(x,y)\),你可以将它移动到 \((x+1,y+2)(x+1,y ...

  9. VMware ESXi-6.7——使用

    1: 上传ISO文件 1.1:创建一个新目录,上传ISO 1.2: 在新建虚拟机时,点击DVD,选择数据ISO文件,选择要安装的ISO文件.并把连接打钩. 2:新建虚拟机 按照需求填写 硬盘的三种置备 ...

  10. 路由器基础配置之ospf基础配置

    我们将以上面的拓扑图进行本次ospf的实验,目的是能当三台pc机互通 先配置好pc机的IP地址,注意一定要给pc机设置好网关,接下来配置路由器的IP地址 router4 enable 进入特权模式 c ...