算法
C/C++经典算法
重生之我是数学王子
南京211本 信息与计算科学专业
展开
-
计数排序 模拟法(C++实现)
假设待排序记录均为整数且取自区间[ 0 , k ],计数排序(Count Sort)的基本思想是对每一个记录 x ,确定小于 x 的记录个数,然后直接将 x 放在应该的位置。原创 2024-03-26 17:06:08 · 293 阅读 · 0 评论 -
图着色问题 贪心法(C++实现)
给定无向连通图G,图着色问题(Graph Coloring Problem)求图G的最小色数k,使用k种颜色对G中顶点着色,可使任意两个相邻顶点着不同颜色。原创 2024-03-04 09:48:46 · 1079 阅读 · 1 评论 -
快速排序(分治)C++
快速排序原创 2024-02-29 21:19:16 · 374 阅读 · 0 评论 -
多段图的最短路径 图问题中的动态规划法(C++实现)
多段图的最短路径问题(Multi-segment Graph Shortest Path Problem)求从源点到终点的最小代价路径。原创 2024-03-11 20:18:35 · 731 阅读 · 0 评论 -
贪心法引入(简单)--付款问题(C++实现)
付款问题(C++实现)原创 2024-03-03 20:52:58 · 436 阅读 · 1 评论 -
网格上的最短路径 动态规划法(C++实现)
给定一个包含正整数的m x n网格,每次只能向下或向右移动一步,定义路径长度是路径上经过的整数之和。请找出一条从左上角到右下角的路径,使得路径长度最小。原创 2024-03-05 13:44:59 · 726 阅读 · 0 评论 -
2023ICPC ProblemD.最大数码
如果范围>10,最大数码就一定是9,return。遍历得出a+b的结果,通过itoa()函数转换成char类型存入临时数组temp中,遍历temp把对应出现的数字存入哈希表中,如果hash表中出现9就没必要继续运行了,return。没出现就一直运行到最后,由大到小遍历hash表,return最大值。原创 2023-12-12 11:11:59 · 160 阅读 · 1 评论 -
0/1背包问题 动态规划(C++实现)
0/1背包问题(0/1 Knapsack Problem)是如何选择装入背包的物品,使得装入背包中物品的总价值最大。原创 2024-03-10 19:44:46 · 880 阅读 · 0 评论 -
图问题中的贪心法(C++实现)
TSP问题(Traveling saleman problem)原创 2024-03-03 23:07:08 · 555 阅读 · 1 评论 -
组合问题中的分治法
组合问题中的分治法,最大字段和问题原创 2024-03-03 20:01:55 · 442 阅读 · 1 评论 -
猴子爬楼梯问题 递推法(C++实现)
一个猴子要爬上30级台阶,每次只能跳1级或3级台阶,问xx级台阶有几种跳法。原创 2024-04-05 13:15:09 · 278 阅读 · 0 评论 -
归并排序(分治)C++
归并排序原创 2024-02-29 21:07:29 · 441 阅读 · 0 评论 -
背包问题 组合问题中的贪心法(C++实现)
是如何选择装入背包,使得装入背包中物品总价值最大。可以将物品的一部分放入背包,但不可以重复装入。给定n个物品和一个容量为c的背包,重量是weight,价值是value,为简单起见,物品排序已经按照单价降序排列。背包可装物品最大价值之和为200。原创 2024-03-04 11:17:33 · 549 阅读 · 0 评论 -
最长公共子序列 动态规划法(C++实现)
递归m(X的长度)乘 n(Y的长度),得到每个点(e.g.X的前两个数据和Y的前4个数据的子序列)的最大子序列长度,并记录下状态,回溯。same[] 存储公共子序列,length[][] 存储最长公共子序列的长度,state[][]存储相应的状态。就是在序列X和Y中查找长度最长的公共子序列。公共子序列为 a c b d b。公共子序列长度为 5。原创 2024-03-05 15:26:16 · 980 阅读 · 0 评论