算法与数据结构基础
garrulousabyss
Github: https://github.com/Gogogoforit
展开
-
清华大学《数据结构与算法》笔记(从11-A-1到)
11a-1: 定义+特点11a-2: 术语11a-3: ADT11b1-1 问题与需求11b1-2 算法测评11b2-1: 构思11b2-2: 版本一原创 2019-03-03 07:22:56 · 291 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08-B1-1到08-B2-8)
08-B1-1 640KB08-B1-2 越来越大的数据08-B1-3 越来越小的内存08-B1-4 一秒与一天08-B1-5 分级I/O08-B1-6 1B=1KB08-B2-1 观察体验08-B2-2 多路平衡08-B2-3 还是I/O08-B2-4 深度统一08-B2-5 阶次含义08-B2-6 紧凑表示...原创 2019-01-30 09:21:00 · 233 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08-A2-1到08-A3-7)
08-A2-1 双层伸展08-A2-2 子孙异侧08-A2-3 子孙同侧 08-A2-4 点睛之笔从下图变成也就是高度变成一半08-A2-5 折叠效果高度变成一半08-A2-6 分摊性能08-A2-7 特殊情况08-A3-1 功能接口08-A3-2 伸展算法08-A3-3 四种情况08-A3-4 查找算...原创 2019-01-30 04:01:40 · 210 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从07-B2-1到07-C-5)
07-B2-1 插入:算法07-B2-2 插入:实现07-B3-1 删除:框架07-B3-2 删除:单分支07-B3-3 删除:双分支 07-B3-4 删除:复杂度 07-C-1 极端退化 07-C-2 平均高度07-C-3 理想+适度07-C-4 歧义=等价中序遍历序列存在着歧义性07-C-5 等...原创 2019-01-22 07:02:01 · 169 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从05-E2-1到05-E5-3 )
05-E2-1 递归05-E2-2 观察05-E2-3 思路05-E2-4 构思05-E2-5 实现05-E2-6 实例05-E2-7 分摊分析05-E4-1 次序层次遍历,显然应该使用Queue05-E4-2 实现05-E4-3 实例05-E5-1 遍历序列05-E5-2 (先序|后序) + 中序注:...原创 2019-01-10 08:58:43 · 162 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从05-C-2到05-E1-9 )
05-C-2 真二叉树05-C-3 描述多叉树05-D-1 BinNode类05-D-2 BinNode接口05-D-3 BinTree类05-D-4 高度更新05-D-5 节点插入05-E1-1 转化策略05-E1-2 遍历规则05-E1-3 递归实现05-E1-4 迭代实现105-E1-5 实例05-E...原创 2019-01-10 06:33:34 · 156 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从05-A-1到 05-C-1)
05-A-1 动机05-A-2 应用05-A-3 有根树05-A-4 有序树05-A-5 路径+环路05-A-5 路径+环路05-A-5 路径+环路05-A-6 连通+无环05-A-7 深度+层次05-B-1 表示法05-B-2 父亲05-B-3 孩子05-B-4 父亲+孩子05-B-4...原创 2019-01-10 04:42:35 · 330 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从04-C5-1到04-D-3 )
04-C5-1 简化04-C5-2 体验04-C5-3 手工04-C5-4 算法04-D-1 接口04-D-2 实例04-D-3 实现原创 2019-01-10 02:38:53 · 261 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从04-C3-4到04-C4-6D )
04-C3-4 算法 04-C3-5 括号 04-C4-1 把玩 04-C4-2 构思04-C4-3 实例04-C4-4 算法框架04-C4-5 算法细节04-C4-6A 实例A04-C4-6B 实例B04-C4-6C 实例C04-C4-6D 实例D ...原创 2019-01-10 01:07:09 · 250 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从09-D2-1到09-E-3)
09d2-1: 平方试探09d2-2: 一利一弊09d2-3: 至多半载 09d2-4: M + Lemda 09d2-5: 双蜓点水09d2-6: 4k + 309d2-7: 双平方定理 09d2-8: 泾渭分明09e-1: 大数据 + 小范围09e-2: 桶排序09e-3: 计数排序 ...原创 2019-02-22 05:33:01 · 207 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从10-A1-1到10-B2-2)
10-A1-1: 应用需求10a1-2: 计算模式10a1-3: 功能接口10a2-1: 向量10a2-2: 有序向量10a2-3: BBST10b1-1: 完全二叉树10b1-2: 结构性10b1-3: 形具神备10b1-4: 堆序性10b2-1: 上滤10b2-2: 实例 ...原创 2019-02-22 05:56:06 · 191 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从10-XA1-4到10-XA3-2)
10-xa1-4: NPL10xa1-5: 左倾性10xa1-6: 左展右敛10xa2-1: LeftHeap模板类10xa2-2: 算法10xa2-3: 实现10xa2-4: 实例10xa3-1: 插入即是合并10xa3-2: 删除亦是合并...原创 2019-03-03 06:36:59 · 169 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从10-B4-3到10-XA1-3)
10b4-3: 自下而上的下滤:算法10b4-4 : 自下而上的下滤:实例10B4-5: 自下而上的下滤:效率10c-1: 算法10c-2: 就地10c-3: 实现10c-4: 实例10xa1-1: 第一印象10xa1-2: 堆之合并10xa1-3: 奇中求正...原创 2019-03-03 05:20:30 · 155 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从10-B2-3到10-B4-2)
10-B2-3: 实现10b2-4: 效率10b3-1: 算法10b3-2: 实例10b3-3: 实现10b3-4: 效率10b4-1 : 自上而下的上滤:算法10b4-2: 自上而下的上滤:效率...原创 2019-02-26 05:36:42 · 224 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从09-C-1到09-D1-5)
09-c-1: 冲突难免09c-2: 何谓优劣09c-3: 整除留余09c-4: 以蝉为师蝉的生命周期往往为素数09c-5: M+A+D09c-6: 平方取中09c-7: 折叠汇总09c-8: 伪随机数09c-9: 多项式09c-A: Vorldmort09c-B: DSA@THU09d1-1: 一山二虎...原创 2019-02-20 07:04:27 · 213 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08-xa4-1到09-b-6)
08xa4-1: 以曲为直08xa4-2: 算法框架08xa4-3: 双黑缺陷08xa4-4: BB-108xa4-5: 反观回味08xa4-6: BB-2R08xa4-7: BB-2B08xa4-8: BB-308xa4-9: 归纳体味09b-1: 从服务到电话注意这里字母与数字的对应09b-2: 循值访问0...原创 2019-02-20 03:36:31 · 251 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08-B5-1到08-xa1-4)
08-B5-1 算法框架08-B5-2 旋转08-B5-3 合并08-B5-4 实例演示08-B5-5 道法自然08-xa1-1 观察体验08-xa1-2 持久性上述状态都是ephemeral的。08-xa1-3 关联性08-xa1-4 O(1)重构 ...原创 2019-02-14 08:53:48 · 212 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08xa2-1到 08xa3-6)
08xa2-1: 定义规则08xa2-2: 实例验证08xa2-3: 提升变换08xa2-4: 末端节点08xa2-5: 红黒树,即是B-树08xa2-6: 平衡性08xa2-7: 接口定义08xa3-1: 以曲为直这里的思想是,借助红黑树变化之前,对应的B树,来理解这个问题08xa3-2: 双红缺陷08xa3-3: 算法框架...原创 2019-02-19 06:19:27 · 184 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从08-B3-1到08-B4-5)
08-B3-1 算法过程所谓对B树的查找,无非是对内存中的一系列顺序查找,以及一系列的IO操作,相间隔组成的 08-B3-2 操作实例08-B3-3 算法实现08-B3-3 算法实现08-B3-4 主次成本对于这样一个规模而言,binSearch的效率比顺序查找更低08-B3-5 最大高度08-B3-6 最小高度08-B...原创 2019-01-30 22:33:48 · 184 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从04-A-1到04-C3-3 )
04-A-1 栈04-A-2 实例04-A-3 实现04-C1-2 算法04-C1-3 实现04-C2-1 实例04-C2-2 尝试04-C2-3 构思04-C2-4 实现04-C2-5 反思04-C2-6 拓展04-C3-1 混洗04-C3-2 计数04-C3-3 甄别 ...原创 2019-01-09 06:35:24 · 198 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从03-D-3到 03-E-8 )
03-D-3 实现03-D-4 推敲实际中,new和delete往往会花费一般操作的100倍左右的时间,所以为了提高算法效率,应该尽可能避免这里。由于insertBefore()和remove()中包含new和delete,所以应该推敲这样的方法。03-D-5 selectMax()这里的It是not less than 03-D-6 性能03-E-1 ...原创 2019-01-09 05:43:13 · 156 阅读 · 0 评论 -
n个节点的二叉树有多少种形态(Catalan数)
【n个节点的二叉树有多少种形态(Catalan数)】分析过程: (1)先考虑只有一个节点的情形,设此时的形态有f(1)种,那么很明显f(1)=1(2)如果有两个节点呢?我们很自然想到,应该在f(1)的基础上考虑递推关系。那么,如果固定一个节点后,左右子树的分布情况为1=1+0=0+1,故有f(2) = f(1) + f(1)(3)如果有三个节点,(我们需要考虑固定两个节点的情况么?当...转载 2019-01-24 06:30:56 · 12071 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从01-XC-1到01-XC-9)
01-XC-1: 动态规划Fibonacci.cpp的第一个版本。这个版本,明显能发现,当n到四五十的时候,已经很缓慢了#include <iostream>using namespace std;int fib(int n){ return (2>n)?n:fib(n-1)+fib(n-2);}int main(){ cout<...原创 2019-01-06 05:02:31 · 417 阅读 · 2 评论 -
清华大学《数据结构与算法》笔记(从01-E-1到01-E-9)
01-E-1. 迭代与递归 空间复杂度,一般考量的,都是除了必要的输入输出以外的部分。01-E-2 减而治之 01-E-3: 递归跟踪01-E-4:递推方程01-E-5: 数组倒置 01-E-6: 分而治之01-E-7:二分递归:数组求和01-E-8: 二分递归:max201-E-9: MAX2: 二分递归...原创 2019-01-06 04:34:08 · 311 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从06-C-3到06-D-7)
06-C-3 实现06-C-4 可能情况06-C-5 实例06-C-6 多连通06-C-7 复杂度06-C-8 最短路径06-D-1 算法06-D-2 框架06-C-3 细节06-C-4 无向图 06-D-5 有向图06-D-6 多可达域06-D-7 嵌套引理 ...原创 2019-01-11 06:55:47 · 150 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从06-A-1到06-C-2)
06-A-1 邻接+关联06-A-2 无向+有向06-A-3 路径+环路06-B1-1 接口06-B1-2 邻接矩阵+关联矩阵邻接矩阵关联矩阵06-B1-3 实例06-B1-4 顶点和边06-B1-5 邻接矩阵06-B1-6 顶点静态操作06-B1-7 边操作06-B1-8 顶点动态操作...原创 2019-01-11 03:17:40 · 201 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从01-C-2到01-D-7)
九. 01-C-2 十. 01-C-3 复杂度总结 十一. 01-D-1 算法分析 十二. 01-D-2 级数 十三. 01-D-3 循环与级数 十四. 01-D-4 取非极端元素. 冒泡排序 十五. 01-D-5 正确性的证明十六. 01-D-6 封底估算...原创 2018-10-23 00:23:39 · 664 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从01-A-1到01-C-1)
一. 概论 二. 01-A-1 计算 三. 01-A-2 算法有穷性 四. 01-A-3 好算法 五. 01-B-1 计算模型 六. 01-B-2 图灵机七. 01-B-3 RAM八. 01-C-1 大O ...原创 2018-10-22 16:30:39 · 1694 阅读 · 1 评论 -
慕课《算法与数据结构》网课(第一章)
第一章. 当我们在谈论算法的时候,我们在谈论什么1. 我们究竟为什么要学习算法(略)2. 课程介绍原创 2018-05-25 01:57:14 · 3692 阅读 · 1 评论 -
清华大学《数据结构与算法》笔记(从02-A-1到02-B-5)
02-A-1 接口与实现 02-A-1 quiz02-A-2 向量ADT 02-A-3 接口操作实例在search(num)函数中,如果num没找到,那么将返回,小于num的所有数中,最大的那个数所在的位置如果search(num)中,num在数组中多次出现,那么返回下标最大的那个。 02-A-4 析构与构造这里把vector.h的代码放出来...原创 2019-01-06 09:28:10 · 189 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从02-C-1到02-C-8)
02-C-1:概述通过模板式的方法,可以使数据结构更为规范。02-C-2:循秩访问02-C-3 插入02-C-4 区间删除02-C-5 单元素删除02-C-6 查找02-C-7 唯一化 02-C-8 遍历 ...原创 2019-01-07 06:19:38 · 482 阅读 · 2 评论 -
清华大学《数据结构与算法》笔记(从07-D3-3到08-A1-7)
07-D3-3 删除:实现07-D4-1 “3+4”重构07-D4-2 “3+4”实现07-D4-3 rotateAt()07-D4-4 综合评价08-A1-1 宽松平衡伸展树8-A1-2 局部性08-A1-3 自适应调整08-A1-4 逐层伸展08-A1-5 实例08-A1-6 一步一步往上爬08-A1-...原创 2019-01-24 06:38:23 · 158 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从07-D1-1到07-D3-2)
07-D1-1 AVL=BBST对于包括AVL在内得各种BBST而言,其核心的内容,无非两点:(1)如何界定一种适度的平衡标准(2)一整套重平衡得技巧和算法07-D1-2 平衡因子07-D1-3 适度平衡07-D1-4 接口 07-D1-5 失衡+复衡 07-D2-1 插入:单旋这里的重平衡化,分为几个步骤:(1)首先引入临时引用rc,指...原创 2019-01-24 00:31:36 · 159 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从03-B-1到03-D-2 )
03-B-1 循秩访问03-B-2 查找03-B-3 插入与复制03-B-4 删除与析构03-B-5 唯一化03-C-1 唯一化:构思03-C-2 唯一化:实现03-C-3 查找03-D-1 构思03-D-2 实例 ...原创 2019-01-08 09:56:54 · 256 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从02-F-4到03-A-4)
02-F-4 二路归并:实现 02-F-4 二路归并:实现 02-F-5 二路归并:正确性 02-F-6 归并排序:性能分析第二章习题这道题得重点是,binSearch的范围是左闭右开的,所以hi的取值不是7,而是8 代码#include <iostream>using namespace std;typedef int R...原创 2019-01-08 09:03:39 · 163 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从02-D5-1到02-F-3)
02-D5-1 原理 02-D5-2 实例 02-D5-3 性能分析 02-D5-4 字宽折半 02-D5-5 综合对比02-E-1 构思02-E-2 改进02-E-3 反例02-E-4 再改进02-E-5 综合评价02-F-1 归并排序:构思02-F-2 归并排序:主算法02-F-3 二路归并:实例...原创 2019-01-08 02:46:03 · 214 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从07-A-1到07-B1-5)
07-A-1 纵览07-A-2 循关键码访问07-A-3 有序性07-A-4 单调性07-A-5 接口07-B1-1 概述对于search,insert,remove。分别采用怎样的算法,又怎样去实现,实现的算法复杂度又如何。07-B1-2 查找:算法07-B1-3 查找:理解07-B1-4 查找:实现07-B1-5 ...原创 2019-01-13 06:47:30 · 226 阅读 · 0 评论 -
清华大学《数据结构与算法》笔记(从02-D3-1到02-D4-5)
02-D3-1 构思02-D3-2: 实现02-D3-3 实例02-D3-4 最优性02-D4-1 构思02-D4-2 版本B02-D4-3 语义02-D4-4 版本C02-D4-5 正确性原创 2019-01-07 08:42:26 · 9436 阅读 · 16 评论 -
清华大学《数据结构与算法》笔记(从02-D1-1到 02-D2-7)
02-D1-1 有序性 02-D1-2 唯一化(低效版) 02-D1-3 复杂度(低效版) 02-D1-4 唯一化(高效版)02-D1-5 实例与分析(高效版)02-D2-1 概述 02-D2-2 接口 02-D2-3 语义02-D2-4 原理 02-D2-5 实现02-D2-6 实例 02-D2-7 查找长度...原创 2019-01-07 08:41:20 · 285 阅读 · 0 评论 -
《校招算法》网课笔记(第一讲)
该套笔记,依据于https://www.bilibili.com/video/av23252307一. 1-1原创 2018-05-19 04:51:41 · 209 阅读 · 0 评论