- 博客(15)
- 收藏
- 关注
原创 旋转数组旋转点查找的暴力解与折半查找
#include <stdio.h>#include <stdlib.h>#define MAX 100#define true 1#define false 0// 问题:旋转后的数组,找原数组的下标// 分析:先逆转复原数组,再直接找数组下标//逆转列表void Rerverse(int A[],int init,int lengthA){ for (int i = init; i < lengthA/2; i++) {
2024-12-19 15:37:42
91
原创 完全二叉树判断的递归方法
/3.任意节点存在左右孩子,若右孩子存在孩子,左孩子必有双孩。//2.任意节点存在左孩子且不存在右孩子,则左孩子必无孩子。//4.任意节点左子树高度-右子树高度=0或1。//思想:完全二叉树判定,需满足的条件如下。//1.任意节点存在右孩子,则左孩子必存在。
2024-12-19 15:26:21
200
原创 顺序表逆转
对A[m+n]中的a[m]、b[n]顺序表换序为b[n]、a[m]//将数组A[M+N]的元素全部逆转,得到全部逆转。//再将b[n]和a[m]数组分别逆转,可得到解。
2024-12-19 15:24:31
84
原创 堆排序算法
根节点为A[0],从上往下,节点编号依次为2i+1,2i+2,所以每次遍历排序一个节点只需要log2n次,n个节点为nlogn次。,一个递归排序节点,一个递归为递归所有节点。一定是一个满二叉树,
2024-12-19 15:21:38
59
原创 湖大866-24真题算法第四题-最小树形图
/ 当最终得到树形图后,需要反向还原之前收缩的那些超级节点,将树形图还原到原始图对应的树形图结构。// 在经过上述缩点和边权调整后,得到了一个新的有向图(节点数减少了,因为有环被缩成了超级节点),// 在还原过程中,根据之前记录的边权值等信息,累加每条边的权值,最终得到这个最小树形图的总权值。//都变成这个超级节点到外部节点的边,边的权值保持不变。// 对于每个顶点 v(除了根节点 root),在所有指向 v 的入边中,//调整的方法是将原来的边权减去对应的入边(之前选择的轻边)的权值,
2024-12-19 15:17:21
193
原创 Dijkstra算法湖大866-24年真题第三题
/ 设置边的权重,这里是有向图情况,如果是无向图还需设置G.Edge[v][u] = w;// 如果有顶点不可达,返回 -1表示无法满足经过所有顶点的要求。//如果顶点v没访问,并且源点到顶点的距离小于min,则更新min和更新minindex。// 找到最长的最短时间(信号要经过所有顶点,取从源点到各顶点最短时间中的最大值)// 初始化邻接矩阵为极大值,表示不可达,这里假设 INT_MAX 表示不可达。
2024-12-19 15:10:53
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人