摘要: 解题思路: 1、首先找出根结点,建二叉树 2、先判断是否是二叉排序树 如果是,则判断是否满足堆排序的要求 否则,退出 #include <stdio.h> #include <string.h> #include <malloc.h> #define MAX 1000 #define INF_MIN 阅读全文
posted @ 2020-03-10 19:46 跃鱼 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 解题思路:最优二叉树思想 #include <stdio.h> #define MAX 10001 int H[MAX]; int n; void AjudstUp(int a[],int k) { a[0]=a[k]; int i=k/2; while(i>0&&a[i]>a[0]) { a[k] 阅读全文
posted @ 2020-03-10 16:39 跃鱼 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 解题思路:并查集思想 #include <stdio.h> int f[10001]; void Init(int n) { int i; for(i=0; i<n; i++) { f[i]=i; } } int getf(int x) { if(f[x]==x) return x; return 阅读全文
posted @ 2020-03-10 15:46 跃鱼 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 解题思路: 1、利用排序树中序遍历非递减的性质,将输入数据升序排序 2、利用完全二叉树的性质,求左子树的个数,从而确定根结点所在位置,递归确定左右子树根结点,建立二叉搜索树 3、层序遍历输出 #include <stdio.h> #include <math.h> #include <malloc. 阅读全文
posted @ 2020-03-10 15:04 跃鱼 阅读(398) 评论(0) 推荐(0) 编辑