数据结构和算法学习
文章平均质量分 94
学习各种算法和数据结构
memcpy0
希望探索文理结合的自由之路。
展开
-
算法学习笔记 渐进时间复杂度和求解递归式(代入法、递归树、主方法)
参考算法导论:第3章函数的增长 3.1节 渐近记号;第4章分治策略:4.3节 用代入法求解递归式;4.4节 用递归树方法求解递归式;4.5节 用主方法求解递归式;4.6节 证明主定理文章目录1. 渐近时间复杂度1.1 渐近记号渐近记号、函数与运行时间Θ\ThetaΘ 记号OOO 记号Ω\OmegaΩ 记号等式和不等式中的渐近记号ooo 记号ω\omegaω 记号比较各种函数常用数学函数单调性向下取整与向上取整2. 递归式递归式技术细节3. 用代入法求解递归式处理边界做出好的猜测微妙的细节避免陷.原创 2022-06-13 18:14:22 · 563 阅读 · 2 评论 -
【算法学习笔记】van Emde Boas树
参考算法导论第20章 van Emde Boas树原创 2022-06-08 16:27:42 · 239 阅读 · 0 评论 -
【算法学习】动态规划算法(2)
文章目录4. 最长公共子序列步骤1:刻画最长公共子序列的特征步骤2:一个递归解步骤3:计算LCS的长度步骤4:构造LCS算法改进5. 最优二叉搜索树步骤1:最优二叉搜索树的结构步骤2:一个递归算法步骤3:计算最优二叉搜索树的期望搜索代价4. 最长公共子序列在生物应用中,经常需要比较两个(或多个)不同生物体的DNA。一个DNA由一串称为碱基 base 的分支组成,碱基有腺嘌呤、鸟嘌呤、胞嘧啶、胸腺嘧啶四种类型。我们用英文单词首字母表示四种碱基,这样就可以将一个DNA串表示为有限集 {A,C,G,T}\{原创 2022-05-29 07:17:08 · 357 阅读 · 0 评论 -
【算法学习】动态规划算法(1)
参考算法导论第三版第15章 动态规划算法文章目录1. 钢条切割自顶向下递归实现使用动态规划方法求解最优钢条切割问题子问题图重构解2. 矩阵链乘法计算括号化方案的数量应用动态规划方法步骤1:最优括号化方案的结构特征步骤2:一个递归求解方案步骤3:计算最优代价步骤4:构造最优解3. 动态规划原理最优子结构一些微妙之处重叠子问题重构最优解备忘动态规划 dynamic programming 与分治方法相似,都是通过组合子问题的解来求解原问题(在这里,programming 指的是一种表格法、并非编写计算.原创 2022-05-29 07:16:24 · 195 阅读 · 0 评论 -
【算法学习】贪心算法
参考算导第三版第16章 贪心算法文章目录1. 活动选择问题1.1 活动选择问题的最优子结构1.2 贪心选择1.3 递归贪心算法1.4 迭代贪心算法2. 贪心算法原理2.1 贪心选择性质2.2 最优子结构2.3 贪心对动态规划3. 哈夫曼编码3.1 前缀码3.2 构造哈夫曼编码3.3 哈夫曼算法的正确性4. 拟阵和贪心算法4.1 拟阵4.2 加权拟阵上的贪心算法5. 用拟阵求解任务调度问题求解最优化问题的算法,通常需要经过一系列的步骤,在每个步骤都面临多种选择。对于许多最优化问题,使用动态规划算法.原创 2022-05-26 10:47:59 · 237 阅读 · 1 评论 -
【算法学习】最小生成树
参考算导第三版第23章 最小生成树文章目录1. 最小生成树的形成2. *Kruskal* 算法和 *Prim* 算法2.1 *Kruskal* 算法2.2 *Prim* 算法在电子电路设计中,我们常常需要将多个组件的针脚连接在一起。要连接 nnn 个针脚,我们可以使用 n−1n - 1n−1 根连线,每根连线连接两个针脚。显然,我们希望使用的连线长度最短。可以将上述的布线问题,用一个连通无向图 G=(V,E)G =(V, E)G=(V,E) 来表示,这里的 VVV 是针脚的集合,EEE 是针脚之.原创 2022-05-24 21:57:55 · 210 阅读 · 0 评论 -
【算法学习】基本的图算法(广搜、深搜、拓扑排序、强连通分量)
参考算导第22章 基本的图算法文章目录1. 广度优先搜索1. 广度优先搜索广度优先搜索是最简单的图搜索算法之一,也是许多重要的图算法的原型。Prim 的最小生成树算法(算导23.2节)和 Dijkstra 的单源最短路径算法(算导24.3节)都使用了类似广度优先搜索的...原创 2022-05-24 03:29:05 · 359 阅读 · 0 评论 -
【算法学习】不相交集合数据结构
参考算法导论第21章 用于不相交集合的数据结构`原创 2022-05-21 21:47:39 · 493 阅读 · 1 评论 -
【算法学习】数据结构的扩张
参考算法导论第14章 数据结构的扩张文章目录1. 动态顺序统计1.1 查找具有给定秩的元素1.2 确定一个元素的秩1.3 对子树规模的维护2. 如何扩张数据结构对红黑树的扩张3. 区间树3.1 步骤一:基础数据结构3.2 步骤二:附加信息3.3 步骤三:对信息的维护3.4 步骤四:设计新的操作一些工程应用需要的只是一些“教科书”中的标准数据结构,比如双向链表、散列表或二叉搜索树等,然而也有许多其他的应用需要对现有数据结构、进行少许地创新和改造,但只在很少情况下、需要创造出一类全新类型的数据结构。更.原创 2022-05-20 08:56:33 · 290 阅读 · 1 评论 -
【算法学习】二叉搜索树
参考算法导论第12章 二叉搜索树文章目录1. 什么是二叉搜索树2. 查询二叉搜索树2.1 查找2.2 最大关键字元素和最小关键字元素2.3 后继和前驱3. 插入和删除3.1 插入3.2 删除4. 随机构建二叉搜索树搜索树数据结构支持许多动态集合操作,包括 SEARCH, MINIMUM, MAXIMUM, PREDECESSOR, SUCCESSOR, INSERT, DELETE 等。因此,我们使用一棵搜索树,既可以作为一个字典,也可以作为一个优先队列。二叉搜索树上的基本操作所花费的时间,与这.原创 2022-05-19 19:17:52 · 326 阅读 · 0 评论 -
【算法学习】排序和顺序统计量 中位数和顺序统计量
参考算法导论第9章 中位数和顺序统计量在一个由 nnn 个元素组成的集合中,第 iii 个顺序统计量 order statistic 是该集合中第 iii 小的元素。例如,在一个元素集合中,最小值是第一个顺序统计量(i=1i = 1i=1),最大值是第 nnn 个顺序统计量(i=ni = ni=n)。用非形式化的描述来说,一个中位数 median 是它所属集合的“中点元素”。当 nnn 为奇数时,中位数是唯一的,位于 i=(n+1)/2i = (n+1)/2i=(n+1)/2 处。当 nnn 为偶数.原创 2022-05-17 21:34:42 · 483 阅读 · 0 评论 -
【算法学习】排序和顺序统计量 线性时间排序
参考算法导论第8章 线性时间排序文章目录1. 排序算法的下界1.1 决策树模型1.2 最坏情况的下界2. 计数排序3. 基数排序4. 桶排序到目前为止,我们已经介绍了几种能在 O(nlogn)O(n\log n)O(nlogn) 时间内排序 nnn 个数的算法。归并排序和堆排序达到了最坏情况下的上界;快速排序在平均情况下达到该上界。而且,对于这些算法中的每一个,我们都能给出 nnn 个输入数值,使得该算法能在 Ω(nlogn)\Omega(n\log n)Ω(nlogn) 时间内完成。这些算法.原创 2022-05-17 04:25:07 · 164 阅读 · 0 评论 -
【算法学习】排序和顺序统计量 快速排序
参考算导第7章 快速排序文章目录7.1 快速排序的描述7.1.1 数组的划分2. 快速排序的性能2.1 最坏情况分析2.2 最好情况划分2.3 平衡的划分2.4 对于平均情况的直观观察3. 快速排序是随机化版本4. 快速排序分析4.1 最坏情况分析4.2 期望运行时间4.2.1 运行时间和比较操作对于包含 nnn 个数的输入数组来说,快速排序是一种最坏情况时间复杂度为 Θ(n2)\Theta(n^2)Θ(n2) 的排序算法。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因.原创 2022-05-16 19:16:11 · 152 阅读 · 0 评论 -
【算法学习】排序和顺序统计量 堆排序
参考算法导论第6章 堆排序文章目录1. 堆2. 维护堆的性质3. 建堆4. 堆排序算法5. 优先队列这里我们将介绍堆排序算法 heapsort 。与归并排序一样、但不同于插入排序的是,堆排序的时间复杂度是 O(nlogn)O(n\log n)O(nlogn) 。而与插入排序相同、但不同于归并排序的是,堆排序同样具有原地空间性:任何时候都只需要常数个额外的元素空间存储临时数据。因此,堆排序是集合了我们目前已经讨论过的、两种排序算法优点的一种排序算法。堆排序引入了另一种算法设计技巧:使用一种我们称.原创 2022-05-16 01:52:43 · 122 阅读 · 0 评论 -
【算法学习笔记】数论算法(3)
文章目录7. RSA公钥加密系统7.1 公钥加密系统7.2 RSA加密系统8. 素数的测试8.1 素数的密度8.2 伪素数测试过程8.3 *Miller-Rabin* 随机化素性测试8.4 *Miller-Rabin* 素性测试的出错率9. 整数的因子分解9.1 *Pollard* 的 *rho* 启发式方法9.2 算法分析7. RSA公钥加密系统通过一个公钥加密系统 public-key cryptosystem ,我们可以对「在两个通信单位之间传输的消息」进行加密,即使窃听者 eavesdropp原创 2022-05-15 02:25:27 · 305 阅读 · 1 评论 -
【算法学习笔记】数论算法(2)
文章目录4. 求解模线性方程5. 中国余数定理31.6 元素的幂4. 求解模线性方程现在来考虑求解下列模线性方程 modular linear equation 的问题:ax≡b ( mod n)(31.25)ax \equiv b\ (\bmod\ n) \tag{31.25}ax≡b (mod n)(31.25) 其中 a>0,n>0a > 0, n > 0a>0,n>0 。这一问题有若干种应用。例如,(在算导31.7节中原创 2022-05-14 03:36:02 · 443 阅读 · 0 评论 -
【算法学习笔记】数论算法(1) 基础数论概念、最大公约数、模运算
参考算导第31章 数论算法文章目录欧几里得算法的扩展形式4也欧几里得算法的扩展形式现在重写欧几里得算法、以计算出额外的有用信息。特别地,我们推广该算法用于计算出满+4页+4ye+4也+7页...原创 2022-05-10 20:14:39 · 223 阅读 · 1 评论 -
【算法学习笔记】高级数据结构 B树
参考算法导论第18章 B树原创 2022-05-06 01:32:43 · 484 阅读 · 0 评论 -
【算法学习笔记】快速傅里叶变换1
参考:算法导论第30章 多项式与快速傅里叶变换两个 nnn 次多项式相加的最直接方法所需的时间为 Θ(n)\Theta(n)Θ(n) ,但是相乘的最直接方法所需的时间为 Θ(n2)\Theta(n^2)Θ(n2) 。在这里我们将展示,快速傅里叶变换 the fast Fourier transform, or FFT 如何使多项式相乘的时间复杂度降低为 Θ(nlogn)\Theta(n\log n)Θ(nlogn) 。傅里叶变换的最常见用途是信号处理,这也是快速傅里叶变换的最常见用途,FF.原创 2022-05-03 03:35:08 · 978 阅读 · 0 评论 -
【算法学习笔记】快速傅里叶变换2
文章目录3. DFT与FFT3.1 单位复数根3.2 DFT3.3 FFT3.4 在单位复数根处插值4. 高效FFT实现4.1 FFT的一种迭代实现4.2 并行FFT电路3. DFT与FFT(算导30.1节中断言)如果使用单位复数根,可以在 Θ(nlogn)\Theta(n\log n)Θ(nlogn) 时间内完成求值与插值运算。在本节中给出单位复数根的定义,研究其性质,以及定义DFT,然后说明FFT如何仅用 Θ(nlogn)\Theta(n\log n)Θ(nlogn) 时间、就可以计算出DFT原创 2022-05-03 03:34:24 · 358 阅读 · 0 评论 -
算法学习笔记 网络流之最大流算法
文章目录26.1 流网络1. 流网络和流2. 流的一个例子3. 使用反平行边来建模问题4. 具有多个源点和多个汇点的网络26.2 *Ford-Fulkerson* 方法1. 残存网络2. 增广路径3. 基本的 *Ford-Fulkerson* 算法我们可通过模型化道路交通图为一个有向图、找到从一个城市到另一个城市之间的最短路径,我们也可以将一个有向图看作是一个流网络 flow network 、并使用它来回答关于物料流动方面的问题。设想一种物料从产生它的源结点、经过一个系统、流向消耗该物料的汇点这样一个过原创 2022-04-23 15:57:27 · 1996 阅读 · 0 评论 -
算法学习笔记 全源最短路径Johnson算法(用于稀疏图和有负边的图)
文章目录1. 重新赋予权重来维持最短路径2. 通过重新赋值来生成非负权重3. 计算所有结点对之间的最短路径参考内容:算法导论 第三版 25.3 用于稀疏图的Johnson算法Johnson算法可在 O(V2logV+VE)O(V^2 \log V +VE)O(V2logV+VE) 的时间内,找到所有结点对之间的最短路径。对于稀疏图(边比较少)来说,Johnson算法的渐进表现要优于 asymptotically faster 重复平方法 repeated squaring of matrices原创 2022-04-15 13:44:33 · 1101 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(7) 贪心法 多机调度、最优装载问题
7.8 求解最优装载问题【问题描述】有 nnn 个集装箱要装上一艘载重量为 WWW 的轮船,其中集装箱 i (1≤i≤n)i\ (1\le i \le n)i (1≤i≤n) 的重量为 wiw_iwi 。不考虑集装箱的体积限制,现要选出尽可能多的集装箱装上轮船,使它们的重量之和不超过 WWW 。【问题求解】5.3.1小节讨论了简单装载问题,采用回溯法选出尽可能少的集装箱个数。这里的最优解是选出尽可能多的集装箱个数,并采用贪心法求解。当重量限制为 WWW 时,wiw_iwi 越小、原创 2022-04-14 14:03:09 · 1697 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(7) 贪心法
文章目录7.1 贪心法概述7.1.1 什么是贪心法7.1.2 用贪心法求解的问题应具有的性质7.1.3 贪心法的一般求解过程7.2 求解活动安排问题7.3 求解背包问题7.4 求解最优装载问题7.5 求解田忌赛马问题7.6 求解多机调度问题7.7 哈夫曼编码7.8 求解流水作业调度问题其他题目贪心法 Greedy Algorithm 是一种典型的算法设计策略,用于求解问题的最优解,这里介绍用贪心法求解问题的一般方法,并讨论一些采用贪心法求解的经典示例。7.1 贪心法概述7.1.1 什么是贪心法原创 2022-04-14 14:02:20 · 2079 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(8) 动态规划(1)
动态规划 Dynamic Programming, DP 是将多阶段决策问题进行公式化的一种技术,由 R. Bellman 于1957年提出,被成功应用于许多领域,也是算法设计方法之一。这里介绍动态规划求解问题的一般方法,并讨论一些用动态规划求解的经典示例。8.1 动态规划概述8.1.2 动态规划的原理动态规划是一种解决多阶段决策问题的优化方法,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系逐个求解。8.1.3 动态规划求解的基本步骤注意:动态规划是一原创 2022-04-10 02:57:24 · 1002 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(8) 动态规划(2)
文章目录8.5 求解最长公共子序列问题8.6 求解最长递增子序列问题8.7 求解编辑距离问题8.8 求解0/1背包问题8.9 求解完全背包问题8.10 求解资源分配问题8.11 求解会议安排问题8.12 滚动数组8.12.1 什么是滚动数组8.12.2 用滚动数组求解0/1背包问题8.5 求解最长公共子序列问题【问题描述】字符序列的子序列是指,从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后形成的字符序列。令给定的字符序列 X=(x0,x1,…,xm−1)X = (x_0, x_原创 2022-04-09 21:25:01 · 924 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(12) 计算复杂性理论简介
文章目录11.1 计算模型除了能够设计求解问题的算法以外,还需要具备基本的计算理论,了解哪些问题是可计算的、哪些问题是不可计算的。这里从图灵机模型,简要介绍计算复杂性理论。11.1 计算模型...原创 2022-04-04 18:53:06 · 2278 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(11) 概率算法和近似算法
文章目录原创 2022-04-03 16:48:18 · 2832 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(10) 计算几何
文章目录10.1 向量运算计算几何作为计算机科学中的一个分支,主要研究解决几何问题的算法,在计算机图形学、科学计算可视化、图形用户界面等领域,都有广泛的应用。这里以二维空间为例,讨论在计算几何中常用的算法设计方法。10.1 向量运算在二维空间(即平面上)中每个输入对象都用一组点 {p1,p2,…,pn}\{ p_1, p_2, \dots, p_n\}{p1,p2,…,pn} 来表示,其中每个 pi=(xi,yi)p_i = (x_i, y_i)pi=(xi,yi) ,xi,yix_i,原创 2022-03-29 00:50:42 · 492 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(10) 计算几何(3) 凸包问题
10.2 求解凸包问题简单多边形分凸多边形和凹多边形两类,凸多边形是没有任何“凹陷处”的,而凹多边形至少有一个顶点处于“凹陷处”(称为凹点)。凸多边形上任意两个顶点的连线,都包含在多边形中;凹多边形中总能找到一对顶点,它们的连线有一部分在多边形外。沿着凸多边形周边移动,在每个顶点的转向都是相同的;对于凹多边形,一些是向右转,一些是向左转,在凹点的转向是相反的。图10.12所示的多边形是一个凸多边形,而图10.11所示的多边形是一个凹多边形。点集 AAA 的凸包 Convex Hull 是指一个最小凸多边原创 2022-04-01 15:06:31 · 1382 阅读 · 1 评论 -
【数据结构和算法设计】算法篇(10) 计算几何(3) 最近点对问题
10.3 求解最近点对问题二维空间中最近点对问题是,给定平面上的 nnn 个点,找其中的一对点,使得在 nnn 个点的所有点对中该点对的距离最小。这类问题在实际中有广泛的应用。例如,在空中交通控制问题中,若将飞机看作空间中移动的一个点来看待,则具有最大碰撞危险的两架飞机就是这个空间中最接近的一对点。本节介绍求解最近点对的两种算法。10.3.1 用蛮力法求最近点对蛮力法的过程是,分别计算每一对点之间的距离,然后找出距离最小的一对。对于给定的点集 aaa ,采用蛮力法求 a[leftindex,right原创 2022-04-01 14:58:27 · 2152 阅读 · 0 评论 -
【数据结构和算法设计】算法篇(10) 计算几何(4) 最远点对问题
10.4 求解最远点对问题在二维空间中,求最远点对问题与最近点对问题相似,也具有许多实际应用价值。本节介绍求解最远点对的两种算法。10.4.1 用蛮力法求最远点对这一过程是分别计算每一对点之间的距离,然后找出距离最大的一对。对于给定的点集 aaa ,采用蛮力法求 a[leftindex,rightindex]a[leftindex, rightindex]a[leftindex,rightindex] 中的最远点对之间距离的算法如下:double FarthestPoints(vector<P原创 2022-04-01 14:46:13 · 865 阅读 · 0 评论 -
算法学习笔记() DFS序、树链剖分及其应用
本文属于「算法学习」系列文章的汇总目录。之前的「数据结构和算法设计」系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录大学课程范围之外的高级算法学习、优化与应用的全过程,同时也将归纳总结出简洁明了的算法模板,以便记忆和运用。在本系列学习文章中,为了透彻理解算法和代码,本人参考了诸多博客、教程、文档、书籍等资料,由于精力有限,恕不能一一列出,这里只列示重要资料的不完全参考列表:算法竞赛进阶指南,李煜东,河南电子音像出版社,GitHub Tedukuri社区以及个人题解文章汇.原创 2021-12-13 04:57:44 · 346 阅读 · 1 评论 -
算法学习笔记() 数论之素数判断和计数——埃式筛、欧拉筛、区间素数、素因子分解、欧拉与Mobius函数
无原创 2021-12-12 18:16:09 · 630 阅读 · 0 评论 -
算法学习笔记(0) 对拍技巧、考场预处理宏、快速输入输出
定义:什么是对拍? 当我们的程序过了样例,是否意味着它一定能AC呢?显然大多数情况下都是不行的。所以我们需要自己设计一些数据来测试我们的程序,但有的题目数据很大,我们肉眼无法看出程序计算的结果是否正确,手工计算又非常耗时,在紧张的比赛中,我们该怎么应对呢?于是有了对拍。 对拍简单的说就是当你写完一个题目的程序以后,再写一个暴力求解该题目的程序,然后自己生成一些测试数据,看同样的数据,两个程序输出的结果是否相同,不同意味着被对拍的程序有问题。以此来帮助你修改程序,提高通过率的方法,我们称为对拍。对拍的例子原创 2021-09-22 22:16:27 · 409 阅读 · 0 评论 -
算法学习笔记(20) 数位DP(递推和记忆化搜索实现)
本文属于「算法学习」系列文章之一。之前的【数据结构和算法设计】系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录对大学课程范围之外的高级算法学习、优化与使用的过程,同时也将归纳总结出简洁明了的算法模板,以便记忆和运用。在本系列学习文章中,为了透彻讲解算法和代码,本人参考了诸多博客、教程、文档、书籍等资料,由于精力有限,恕不能一一列出。为了方便在PC上运行调试、分享代码,我还建立了相关的仓库:https://github.com/memcpy0/Algorithm-Temp.原创 2021-09-17 16:48:10 · 491 阅读 · 1 评论 -
算法学习笔记(5) 传递闭包
本文属于「算法学习」系列文章之一。之前的【数据结构和算法设计】系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录对大学课程范围之外的高级算法学习、优化与使用的过程,同时也将归纳总结出简洁明了的算法模板,以便记忆和运用。在本系列学习文章中,为了透彻讲解算法和代码,本人参考了诸多博客、教程、文档、书籍等资料,由于精力有限,恕不能一一列出。为了方便在PC上运行调试、分享代码,我还建立了相关的仓库:https://github.com/memcpy0/Algorithm-Temp.原创 2021-09-08 19:35:31 · 3131 阅读 · 0 评论 -
算法学习笔记(2) 悬线法
文章目录1. 悬线法思路介绍2. 悬线法求最大矩形代码实现3. 各OJ题目1. 悬线法思路介绍以前碰到过最大矩形/最大正方形之类的问题,如LeetCode上的85. 最大矩形和近似题目84. 柱状图中最大的矩形,以及84题的变形题目42. 接雨水、面试题 17.21. 直方图的水量和进阶407. 接雨水 II,这些题目和更多题目都可以用单调栈来解决。不过在这里,我们更关注最大矩形/正方形的另一种解法——悬线法,这是一种比较容易的DP技巧,也能在 O(nm)O(nm)O(nm) 时间内解决最大矩形/正方原创 2021-09-04 01:18:21 · 820 阅读 · 3 评论 -
算法学习笔记(1) 蓄水池抽样(在线随机抽样算法)
本文属于「算法学习」系列文章的汇总目录。【数据结构和算法设计】系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录大学课程范围之外的高级算法学习、优化与使用的过程,同时也将归纳总结出简洁明了的算法模板,以便记忆和运用。在本系列学习文章中,为了透彻讲解算法和代码,本人参考了诸多博客、教程、文档、书籍等资料,由于精力有限,恕不能一一列出。为了方便在PC上运行调试、分享代码,我还建立了相关的仓库:https://github.com/memcpy0/Algorithm-Templ.原创 2021-09-03 23:19:43 · 256 阅读 · 0 评论 -
【数据结构和算法设计】数据结构和算法设计系列文章汇总目录(持续更新中)
本文属于「算法基础」系列文章的汇总目录。这一系列着重于基础的数据结构和算法设计课程的学习,不涉及到高级算法的学习和使用。在本系列学习文章中,为了透彻讲解算法和代码,本人参考了诸多博客、教程、文档、书籍等资料,由于精力有限,恕不能一一列出。为了方便在PC上运行调试、分享代码,我还建立了相关的仓库:https://github.com/memcpy0/Algorithm-Templates。在这一仓库中,你可以看到算法文章、模板代码、应用题目等等。由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏本.原创 2021-09-01 09:47:19 · 315 阅读 · 0 评论