数据结构与算法
文章平均质量分 65
数据结构与算法
acmakb
火车是向前开的.
展开
-
深入浅出Prim算法和Kruskal算法求最小生成树算法
的点(记作)m点,,用m点去更新其他掉到集合中的点的距离,标记这个点,这里区别Dijkstra算法求单源最短路,Dijkstra算法是从未确定的点中找到距离最小的点,去更新到。 依次处理每一对,看边的两个点是否联通,使用并查集,如果判断两个点联通,有一个共同的父亲就可以。 n 次迭代(因为要选中n个点),找到。 终止条件是:加入了n-1条边。 首先按照权重从小到大排序. 首先初始化距离 正无穷。(当前生成树)中的且。原创 2024-04-01 17:26:49 · 470 阅读 · 0 评论 -
解密输入输出迷局:蓝桥杯与ACM中C++/C语言常见问题揭秘
在本文中,我们深入探讨了蓝桥杯、ACM等比赛中常见的C++和C语言输入输出问题。通过案例分析,我们学习了字符输入、字符串输入、二维数组以及puts()、printf()、scanf()、memset()等函数的使用技巧。同时,我们也对比了C++的输入流对象cin和C语言的输入函数scanf的效率。在实际比赛中,了解这些输入输出迷局的解决方法至关重要。通过掌握正确的技巧和函数使用方式,我们可以更高效地处理输入输出,节省宝贵的时间和精力。原创 2024-02-08 15:33:02 · 1828 阅读 · 0 评论 -
0-1背包经典问题
这个题就三个变量,第一是你的背包容量(随着放入元素会逐渐减小),物品的体积,物品的价值力求放入背包物品后的最大价值。这是一个经典的算法题,很多同学在做的时候没有思路,我现在用最容易大家get的方法讲一下。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。第一行两个整数, N,V,用空格隔开,分别表示物品数量和背包容积。输出一个整数,表示最大价值。输出一个整数,表示最大价值。原创 2023-09-17 12:43:41 · 50 阅读 · 1 评论 -
背包问题大合集,01背包,完全背包,多重背包,分组背包
每组数据接下来有 Si行,每行有两个整数 vij,wij,用空格隔开,分别表示第 i 个物品组的第 j 个物品的体积和价值;接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。接下来有 N行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容积。原创 2023-10-28 17:07:19 · 159 阅读 · 0 评论 -
数据结构之查找练习
使用折半查找找出目标值所在位置。---递归+二分查找+循环不变量原创 2023-06-01 15:08:47 · 155 阅读 · 1 评论 -
数据结构之线性表
构造有序(升序)的单链表并实现单链表的逆置(可以采用结构化的程序设计方法实现,即不必定义类)输出按值删除之后链表中剩余的元素(在尾插法创建的链表中进行该操作.若删除的元素不存在,输出Error)输出按位置删除之后链表中剩余的元素(在尾插法创建的链表中进行该操作.若删除的元素不存在,输出Error。输入一组数据,以尾插法的形式创建单链表(0表示输入结束)(构造第一个链表)输入要删除元素的位置(在尾插法创建的链表中进行该操作)输入要删除元素的值(在尾插法创建的链表中进行该操作)按顺序输出有序链表中的数据。原创 2023-05-23 18:17:45 · 124 阅读 · 4 评论