- 博客(35)
- 收藏
- 关注
原创 迪杰斯特拉算法(C语言)
通过函数形参给出的节点,我们知道了哪个点事源点v,然后设置visited【v】 = 1,dist【v】 = 0(自己到自己的距离是0)然后是两层循环,作用是,我举个例子:第一层循环是寻找a->d的最短距离,但是我们要在a和d之间插入其他节点,看看是否因为新加入节点,二者的距离变短了,这也就是第二层循环。通过判断,看一个节点是否符合:1、没被访问过,2、插入的节点到终点之间有路径,3、看看是否因为新插入的节点,源点到某一个节点的距离变短了。现在找到了这个节点,就给对应的dist更新数值。
2025-03-19 14:27:56
184
原创 累加天数~
思想就是,一天一天加。首先判断今年是不是闰年,对应修改arr中2月的天数。然后从累加天数中拿出来一天,日期加上一天,日期加上一天之后判断月份是否需要加一,如果月份加一在判断年份是不是需要加一。
2025-03-13 10:48:48
138
原创 贵州大学上机题(报数游戏——约瑟夫环问题)
本题是约瑟夫环问题,解决思路是开一个队列,比如12345,一开始1,2都没报道,按顺序push队尾并pop出去。对于接下来的3因为触发报数,直接pop。以此类推,找到赢家。
2025-02-26 20:32:46
168
原创 设计一个算法, 求不带权无向连通图 G 中距离顶点 v 的最远顶点。
题目说的是无权图,所以利用利用深度优先遍历访问整个图,来寻找最远节点,明显是比迪杰斯特拉简单多的。最后我们班里distance数组,找到数值最大的那个节点,数值就是距离,节点对应的下标是节点编号。
2024-12-04 16:15:42
132
原创 设计算法,对 n 个关键字取实数值的记录序列进行整理,以使所有关键字为负值的记录排序在非负值的记录之前(自用)
【代码】设计算法,对 n 个关键字取实数值的记录序列进行整理,以使所有关键字为负值的记录排序在非负值的记录之前(自用)
2024-11-29 16:17:16
128
原创 归并排序(自用)
mergeSort有两个函数,一个是mergeSort()本身,另一个是merge()。merge函数的作用是合并,它接受一个数组,以及这个数组的起点,中间点,终点,并且以中点为中枢对两侧的元素进行合并。mergesort函数就是首先不断调用自己,将自己不断划分直到每个部分只剩下一个部分,然后利用merge函数将各个元素合并起来,最终将数组排序完毕。
2024-11-23 17:04:03
110
原创 堆排序(自用)
heapSort排序,一共有两个for循环,第一个for循环是“堆”,也就是建堆,将初始传入的数组构建成堆,第二个for循环就是“排序”,将堆顶元素和末尾元素进行调换,然后堆剩余的元素进行堆排序。
2024-11-21 17:00:44
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人