1.
MaxSum = 0;
for (i=0; i<n; i++) {
ThisSum = 0;
for (j=i; j<n; j++) {
ThisSum = ThisSum + A[j];
MaxSum = max(MaxSum,ThisSum);
}
这个代码中ThisSum = ThisSum + A[j]用n表示出这个函数是什么?
怎么分析时间复杂度。
2.
回文 例:foo(“abcd”)结果就是0. foo(“abcba”)结果就是1.
Int bar (char a[], int s, int t){
If(s>=t,return A;
If(a[s]==a[t]){
Return bar (a, B, C);}
Else{
Return 0;}
}int foo(char a[]){return bar (a, 0,strlen(a)-1);
说明下 A B C
说明下算法的正确性和时间复杂度
3
提供插入和最大值删除函数(Delete Max)演算的数据构造叫做 右侧优先QUEUE。
利用双重搜索树和右侧优先Queue能实现多少效率
a)在插入运算o(h)的时间里能处理吗?根据是什么?这里的h 是双重搜索树的高度
B)最大值删除运算o(h)的时间里能处理吗?根据是什么?
数据构造我没有学好。。不怎么会。谁来帮我详细解答下。。万分感谢。。。谢谢。。万分感谢。。