![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
qq_45992231
这个作者很懒,什么都没留下…
展开
-
在DFS函数中,用链表来保存路径用指针,二维指针,引用
首先本问题大概是指这样的一个场景,在进行DFS时,需要保存能够一次走完所有顶点的路径。在这里用链表存储。一个链表的结点就是一条路径,也就是说当DFS时若符合条件,就完成当前指针所指的结点的赋值,然后指向下一个结点。首先用指针,这是不行的,因为C语言只是将实参传递给形参,形参只是单纯的复制了一份实参void pointer_test(int* ptr){ int a = 3; int* q = &a; printf("函数内\n"); printf("新增一个指针q,里面的值为%p\n"原创 2021-08-15 21:15:53 · 140 阅读 · 0 评论 -
计算一个数组中不同元素的个数
1.用hash数组 O(n)2.排序之后遍历一遍 O(nlogn)原创 2021-08-11 09:35:32 · 455 阅读 · 0 评论 -
算法导论第八章习题8.1的问题*
算法导论第8章中通过决策树证明了定理8.1比较排序的最坏情况的下届是Ω(nlgn)然后习题8.1-3和8.1-4都是通过定理8.1来证的,但是为什么?定理8.1不是说明比较排序算法的最坏情况是Ω(nlgn)吗?8.1-3通过这个定理可以证明在“最坏情况”下三种情况都不能达到线性时间?这能直接说明对三种情况“不存在能达到线性时间的比较排序算法吗”?8.1-4通过定理8.1证明了这个排序方法“最坏情况”的下界是Ω(nlgk),等同于“这个方法比较次数的下界是Ω(nlgk)”吗?...原创 2021-08-07 20:34:54 · 70 阅读 · 0 评论 -
尼姆博弈尼姆尼姆
题型尼姆博弈模型,大致上是这样的:有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜。分析1、首先自己想一下,就会发现只要最后剩两堆物品一样多(不为零),第三堆为零,那面对这种局势的一方就必败那我们用(a,b,c)表示某种局势,首先(0,0,0)显然是必败态,无论谁面对(0,0,0) ,都必然失败;第二种必败态是(0,n,n),自己在某一堆拿走k(k ≤ n)个物品,不论k为多少,对方只要在另一堆拿走k个物品,最后自己都将面临(0,0,0)的局势,必转载 2021-07-31 12:15:54 · 338 阅读 · 0 评论 -
C(C++)语言杂杂杂杂杂杂杂
循环体内还是循环体外定义变量简单变量两者效率差不多 编译器会做优化,自己定义的变量有差别,每次需要创建和释放,应定义在循环体外?原创 2021-07-27 09:00:02 · 64 阅读 · 0 评论 -
求图的连通分量
//用dfs方法求图的连通分量#include <iostream>#include<stdio.h>using namespace std;int martrix[6][6] = { {0,0,0,0,0,0},{0,0,1,0,0,0},{0,1,0,0,0,0},{0,0,0,0,1,0},{0,0,0,1,0,1},{0,0,0,0,1,0} };bool vis[6] = { false };`void dfs(int start_num){ print..原创 2021-07-18 21:57:41 · 286 阅读 · 0 评论 -
DFS算法
关于DFS算法的一些思考#include #include<stdio.h>using namespace std;int martrix[6][6] = { {0,1,1,0,0,0},{1,0,1,0,0,0},{1,1,0,1,0,0},{0,0,1,0,1,1},{0,0,0,1,0,0},{0,0,0,1,0,0} };bool vis[10];int road[6];typedef struct pathnode{int road[10];}pathnode;p原创 2021-07-18 21:03:20 · 60 阅读 · 0 评论 -
汇编语言王爽 课程设计1
还有优化的地方assume cs:codesg,ds:datasg,es:table,ss:stackdatasg segment db ‘1975’,‘1976’,‘1977’,‘1978’,‘1979’,‘1980’,‘1981’,‘1982’,‘1983’ db ‘1984’,‘1985’,‘1986’,‘1987’,‘1988’,‘1989’,‘1990’,‘1991’,‘1992’ db ‘原创 2021-04-07 16:18:15 · 74 阅读 · 0 评论 -
2020-05-10
#include<stdio.h>int main(){long long f[21] = { 0,0,1 };int i;for (i = 3; i <= 20; i++){f[i] = (f[i - 1] + f[i - 2]) * (i - 1);}int N, M,k;long long p=1;scanf("%d", &k);while (k–){scanf("%d%d", &N, &M); for (i = N; i原创 2020-05-10 21:28:17 · 67 阅读 · 0 评论