数据结构
JYAyyyyyyy
这个作者很懒,什么都没留下…
展开
-
7-18 二分法求多项式单根 (20 分)
代码:#include <stdio.h>double a0, a1, a2, a3;double f (double x){ double result = a0 + a1 * x + a2 * x * x + a3 * x * x * x; return result; } double BinArray(double a, double b){ while (b - a > 0.001) { double mid = (a + b) / 2; doubl.原创 2021-02-14 17:46:02 · 191 阅读 · 0 评论 -
6-13 折半查找 (15 分)
代码:int BinArray(SSTable T, int start, int end, KeyType k){ int mid = (start + end) / 2; while (start <= end) { if (T.R[mid].key == k) return mid; else if (T.R[mid].key > k) return BinArray(T, start, mid - 1, k); else return BinArray(T, m...原创 2021-02-14 16:21:45 · 201 阅读 · 0 评论 -
6-11 求自定类型元素序列的中位数 (25 分)
代码:ElementType Median( ElementType A[], int N ){ int i = 0, j = 0; ElementType mid = N / 2; while (mid > 0) { for (i = mid; i < N; i++) { j = i - mid; while (j >= 0 && A[i] < A[j]) { ElementType tmp = A[i]; A..原创 2021-02-14 15:46:39 · 159 阅读 · 0 评论 -
练习6.2 邻接表存储图的广度优先遍历 (20分)
练习6.2 邻接表存储图的广度优先遍历 (20分)代码:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) ){ int node[Graph->Nv], start = 0, end = 0; node[end++] = S; while (start < end) { Visited[node[start]] = true; Visit(node[start]); PtrToAdjVNo原创 2020-08-19 18:47:05 · 1036 阅读 · 0 评论 -
练习6.1 邻接矩阵存储图的深度优先遍历 (20分)
练习6.1 邻接矩阵存储图的深度优先遍历 (20分)代码:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) ){ Visited[V] = true; (*Visit)(V); int i = V, j = 0; for (j = 0; j < Graph->Nv; j++)//有可能都连在了一个点上,所以用Nv { if (Graph->G[i][j] == 1 && Visit原创 2020-08-19 17:50:13 · 999 阅读 · 0 评论 -
习题5.10 线性探测法的查找函数 (20分)
习题5.10 线性探测法的查找函数 (20分)代码:Position Find( HashTable H, ElementType Key ){ int index = Hash(Key, H->TableSize), count = 0; while (count != H->TableSize) { if (H->Cells[index].Info == Empty || H->Cells[index].Info == Deleted || H->Ce原创 2020-08-19 16:09:13 · 1193 阅读 · 0 评论 -
习题4.3 是否二叉搜索树 (25分)
习题4.3 是否二叉搜索树 (25分)代码:int mid = -1;//第一次出来的是最左子树,其值是最小的 bool IsBST ( BinTree T ){ if (T == NULL) return true;//为空的时候是二叉搜索树 IsBST(T->Left);//判断左子树 if (T->Data < mid) return false;//如果根节点小于左子树上的元素返回false else mid = T->Data;//不是的话,记录原创 2020-08-19 15:16:27 · 269 阅读 · 0 评论 -
7-4 是否同一棵二叉搜索树 (25分)
7-4 是否同一棵二叉搜索树 (25分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N(≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最后L行原创 2020-07-27 20:23:18 · 108 阅读 · 0 评论 -
7-3 树的同构 (25分)
7-3 树的同构 (25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N> (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,给出该结点中原创 2020-07-27 18:23:15 · 109 阅读 · 0 评论 -
7-2 一元多项式的乘法与加法运算 (20分)
7-2 一元多项式的乘法与加法运算 (20分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:原创 2020-07-25 20:52:32 · 287 阅读 · 0 评论 -
7-1 最大子列和问题 (20分)
7-1 最大子列和问题 (20分)给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。各组测试数据特点如下:数原创 2020-07-24 11:31:24 · 114 阅读 · 0 评论