摘要:
给定稀疏多项式P和Q,设计实现多项式求和的算法。要求: (1)将结果放入多项式P之中, (2)不允许使用链表, (3)设计2种不同的算法,并分析两种算法的时间和空间复杂性。 方法1: 1 #include <stdio.h> 2 struct poly{ /*构建结构体,含有系数coeff和幂数ex 阅读全文
摘要:
二分查找拓展问题 设计算法,在正序排列数组L中查找元素x, 输出x或最接近x(如果不存在的话)的元素下标。 1 #include <stdio.h> 2 int Binary_search(int array[], float x, int left, int right); 3 int main( 阅读全文
摘要:
求解Right Dominant Elements问题 针对下面两种情况,设计求解Right Dominant Elements的算法(一个序列中某元素比它的后面所有的数都大的元素即为Right Dominant Element),并分析算法的复杂度。 例L=(10,9,5,13,2,7,1,8,4 阅读全文
摘要:
7-1 数组循环左移 (20分) 本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥)个位置,即将a中的数据由(a0a1⋯an−1)变换为(am⋯an−1a0a1⋯am−1 阅读全文
摘要:
7-3 两个有序序列的中位数 (25分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列,的中位数指A(N−1)/2的值,即第⌊个数(A0为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列 阅读全文
摘要:
7-2 装箱问题 (20分) 假设有N项物品,大小分别为s1、s2、…、si、…、sN,其中si为满足1的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这 阅读全文