- 博客(5)
- 收藏
- 关注
原创 C++搜索与图论
有向图:1.邻接矩阵g[a,b] 2.邻接表。边权都为1,可以搜到最短路,一层一层搜索。树是特殊的图(无环连通图)。图分为2种:有向图和无向图。有向图 拓扑序列 有向无环图→拓扑图。
2023-07-18 19:28:19 141 1
原创 C++数据结构
4.删除任意一个元素 heap[k] = heap[size];每个节点存储他的父节点,p[x] 表示x的父节点。3.删除最小值 heap[1] = heap[size];head -> (val,*next) -> (val,*next) -> (val,*next)->空。问题3:如何合并两个集合:px是x的集合编号,py是y的集合编号。问题2:如何求x的集合编号:while( p[x]!问题1:如何判断树根:if(p[x] ==x)
2023-07-13 19:26:02 2153 1
原创 C++算法基础练习题
输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y1,x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。输入第一行包含两个整数n和m,第二行包含n个整数,接下来m行每行包含两个整数l和r表示一个范围。给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。例题:给二维数组中 x1,y1 到 x2 , y2 的元素加上c 输出操作后的数组。例题:输入第一行n 表示数列的长度 第二行包含n个整数,表示整个数列。输出共m行,每行输出询问的结果 (求和)
2023-07-11 09:12:42 731
原创 C++算法基础
x在 l 和 mid 之间 则 r = mid-1 [l, mid - 1];x在 mid 和 r 之间 则 l = mid [mid, r];①确定分界点 q[l] q[(l+r)/2] q[r] ★。②递归排序left right 左右两个数组。①确定分界点 mid = (l+r)/2。②调整区间 下标i j 分别从两边遍历。③归并排序 合二为一 ★。
2023-07-07 10:55:59 268 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人