
算法
文章平均质量分 87
WalkingComputer
少说多做,知行合一。2022年本科毕业于浙科大信息学院,浙工大计算机学院硕士在读,研究方向:数据分析。计算机=硬件+软件,软件=程序+文档。书写是为了更好地思考,记录是为了更好地计划。书山有路勤为径,学海无涯苦作舟。愿每个人都能在社会中找到自己的位置,创造独特的价值。
展开
-
深度优先搜索DFS与记忆化搜索
深度优先搜索算法是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。原创 2023-12-07 22:44:46 · 940 阅读 · 0 评论 -
用BFS求最短路 - 习题6道
可用BFS求解图中两个结点之间的最短路径。这样的图通常在形式上为矩形点阵(网格迷宫),每个可走的点(网格,下同)为图的结点,图的边则描述了从一个结点与其相邻结点直接连通的状态。在二叉树的BFS中,结点的访问顺序恰好是它们到根结点距离从小到大的顺序。类似地,图的BFS的过程就是把从起点到终点过程中遍历的点建成以起点为根结点,终点为叶节点的一棵树(称为最短路树,或者BFS树)的过程。原创 2023-11-19 17:13:59 · 224 阅读 · 0 评论 -
组合数学(下):概率、博弈
计算机科学的核心内容是使用算法处理离散数据。随着计算机科学的日益发展,组合数学的重要性也日渐凸显。组合数学,又称为离散数学。广义的组合数学就是离散数学,狭义的组合数学是离散数学除图论、代数结构、数理逻辑等的部分,主要研究满足一定条件的组态(也称组合模型)的存在、计数以及构造等方面的问题。 组合数学的主要内容有组合计数、组合设计、组合矩阵、组合优化(最佳组合)等。原创 2023-11-16 21:37:28 · 223 阅读 · 0 评论 -
组合数学(上):数列、排列、组合
计算机科学的核心内容是使用算法处理离散数据。随着计算机科学的日益发展,组合数学的重要性也日渐凸显。组合数学,又称为离散数学。广义的组合数学就是离散数学,狭义的组合数学是离散数学除图论、代数结构、数理逻辑等的部分,主要研究满足一定条件的组态(也称组合模型)的存在、计数以及构造等方面的问题。 组合数学的主要内容有组合计数、组合设计、组合矩阵、组合优化(最佳组合)等。原创 2023-11-16 12:30:10 · 195 阅读 · 0 评论 -
并查集与最小生成树
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题,常常在使用中以森林来表示。原创 2023-11-10 18:55:48 · 158 阅读 · 0 评论 -
动态规划笔记+经典习题十道
动态规划通常应用于最优化问题,即要做出一组选择以达到一个最优解。在做选择的同时,经常出现同样形式的子问题。当某一特定的子问题可能出自于多于一种选择的集合时,动态规划是很有效的;关键技术是存储每一个子问题的解,以备它重复出现。利用这种简单思想,可将时间复杂度从指数级别降低到多项式级别。原创 2023-11-04 23:45:29 · 970 阅读 · 0 评论 -
贪心算法经典习题7道
贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。原创 2023-11-02 16:25:25 · 707 阅读 · 0 评论 -
长整数加法 - C++实现
整数长度不超过1000。每组数据有一行,包含两个数字a,b。对于每组数据输出一行,即a+b的值。原创 2023-10-30 21:12:33 · 129 阅读 · 0 评论 -
《C程序设计》笔记(ch1-2)
每件事都需要事先设计出“行动步骤”。许多问题往往需要使用者参考已有的类似算法的思路,重新设计解决特定问题的专门算法。原创 2023-10-24 23:39:27 · 375 阅读 · 0 评论 -
《数据结构题集(C语言版)》第2章(线性表)习题自解答
《数据结构题集(C语言版)》是《数据结构(C语言版)》(严蔚敏)的配套书籍。本文是第2章(线性表)习题的部分自解答,完成后经过订正、简单测试运行。原创 2020-04-02 10:39:38 · 4121 阅读 · 0 评论