试说明,即便计入向量扩容所需的时间,就分摊意义而言,GraphMatrix::insert(v)算法的时间复杂度依然不超过o(n)。
第1题
对于几乎有序的向量,如教材代码2.26(60页)和代码2.27(60页)所示的起泡排序算法,都显得效率不足,比如,即便乱序元素仅限于A[0,√n)区间,最坏情况下仍需调用bubble()做Ω(√n)次调用,共做Ω(n)次交换操作和Ω(n3/2)次比较操作,因此累计运行Ω(n3/2)时间。
a)试改进原算法,使之在上述情况下仅需o(n)时间;
b)继续改进,使之在如下情况下仅需o(n)时间:乱序元素仅限于A[n-√n,n)区间;
c)综合以上改进,使之在如下情况下仅需o(n)时间:乱序元素仅限于任意的A[m,m+√n]区间。
第4题
比如,在仅能使用直尺的情况下,可通过反复实验,用鸡蛋刚能摔碎的下落高度(比如精确到毫米)来度量蛋壳的硬度。尽管可以假定在破裂之前蛋壳的硬度保持不变,但毕竟破裂是不可逆的。故若仅有一枚鸡蛋,则我们不得不从0开始,以1毫米为单位逐步增加下落的高度,若蛋壳的硬度不超过n毫米,则需要进行o(n)次实验。就效率而言,这等价于退化到无序向量的顺序查找。
a)若你拥有两枚鸡蛋(假定它们硬度完全相同),所需实验可减少到多少次?试给出对应的算法;
b)进一步地,如果你拥有三枚鸡蛋呢?
c)一般地,如果共有d枚鸡蛋可用呢?
第6题
在给定了空间直角坐标系的三维空间中,所有自原点引出的向量添上零向量构成一个三维线性空间R3。
1)问所有终点都在一个平面上的向量是否为子空间?
2)设有过原点的三条直线,这三条直线上的全部向量分别成为三个子空间L1,L2,L3。问L1+L2,L1+L2+L3能构成哪些类型的子空间,试全部列举出来。
3)试用几何空间的例子来说明:若U,V,X,Y是子空间,满足U+V=X,XY,是否一定有Y=Y∩U+Y∩V。
第8题
A.D值系指一定温度下,将微生物杀灭10%所需的时间
B.D值系指一定温度下,将微生物杀灭90%所需的时间
C.D值大,说明该微生物耐热性强
D.D值大,说明该微生物耐热性差
E.Z值系指某一种微生物的D值减少到原来的1/10时,所需升高的温度值(℃)
第9题
A.D值系指一定温度下,将微生物杀灭10%所需的时间
B.D值系指一定温度下,将微生物杀灭90%所需的时间
C.D值大,说明该微生物耐热性强
D.D值大,说明该微生物耐热性差
E.z值系指某一种微生物的D值减少到原来的l/10时,所需升高的温度值(℃)
第10题
A.D值系指一定温度下,将微生物杀灭90%所需的时间
B.D值系指一定温度下,将微生物杀灭10%所需的时间
C.D值小,说明该微生物耐热性强
D.D值小,说明该微生物耐热性差
E.z值系指某一种微生物的D值减少到原来的l/10时所需升高的温度值
第11题
A.D值系指一定温度下,将微生物杀灭10%所需的时间
B.D值系指一定温度下,将微生物杀灭90%所需的时间
C.D值大,说明该微生物耐热性强
D.D值大,说明该微生物耐热性差
E.Z值系指某一种微生物的D值 减少到原来的1/10时,所需升高的温度值(℃)