《数据结构与算法分析:C语言描述》读书笔记
我们数据结构的课用了这本英文教材,作者是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语言描述》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- 从今天開始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用
iOSFoundation框架 当你着手为你的应用编写代码的时候,你会发现有很多可供使用的Objective-C的框架类,当中尤其重要的就是基础框架类.它为平台全部的应用提供基础服务.基础框架类中包括 ...
- nbu集群Alwayson相关问题
Alwayson 1. Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集愈依赖 ...
- 2018.10.31 Mac下的Mysql修改字符编码修改的问题总结
今天在弄数据库的时候发现存入中文汉字变成了问号,Mac跟windows处理方式不一样. show variables like '%char%'; 查看当前mysql的编码格式 也就是默认编码格式 + ...
- 2018.10.4 AndroidStudio
AndroidStudio低版本sdkversion开发 Error:Minimum supported Gradle version is 4.1 Current version is 2.14.1 ...
- pinyin4j工具类
<!-- 导入pinyin4j --> <dependency> <groupId>com.belerweb</groupId> <artifac ...
- o'Reill的SVG精髓(第二版)学习笔记——第六章
第六章:坐标系统变换 想要旋转.缩放或者移动图片到新的位置.可以给对应的SVG元素添加transform属性. 6.1 translate变换 可以为<use>元素使用x和y属性,以在特性 ...
- Angularjs基础(六)
AngularJS HTML DOM AngularJS为HTML DOM 元素的属性提供了绑定应用数据的指令. ng-disabled指令 ng-disabled指令直接绑定应用数据到HTML的di ...
- SP1716 GSS3 - Can you answer these queries III(单点修改,区间最大子段和)
题意翻译 nnn 个数, qqq 次操作 操作0 x y把 AxA_xAx 修改为 yyy 操作1 l r询问区间 [l,r][l, r][l,r] 的最大子段和 题目描述 You are give ...
- 浅谈linux系统中pdf文件的默认打开方式
atril.gimp和evince,三者均可以打开application/pdf格式文件.gimp为一款图像处理软件:atril为mate环境下常用的文档查看器:evince为gnome环境下常用的文 ...
- Element-ui树形控件el-tree获取父级节点的id
Element-ui官网给的方法 getCheckedKeys() { console.log(this.$refs.tree.getCheckedKeys()); }, 这种只有在所有子级都被选中的 ...