-
求k++频度 K=0; for(i=1;i<=n;i++) 假如是1——8,执行了9次,8次有效,最后一次无效 for(j=i;j<=n;j++) k++ 我的理解: 假设n为8 我们看k++频度实际上就是看内圈for的有效循环次数 第一轮是1——8 八次有效循环 第二轮是2——8 七次有效循环 第三轮是3——8 六次有效循环 第四轮是4——8 五次有效循环 第五轮是5——8 四次有效循环 第六轮是6——8 三次有效循环 第七轮是7——8 二次有效循环 第八轮是8——8 一次有效循环 如果数字n很大,没有时间画到循环结束 8-1+1 8-2+1 8-3+1 8-4+1 ... 8-8+1 n-i+1就是规律
你只需要把前面几次循环的次数求出来,把最后几次循环的次数求出来,基本上都可以用等差求和公式计算出结果
所以上面的每次的执行次数相加就是 1+2+3+....n =[n(n+1)]/2 次 时间复杂度是O(n^2)
-
数据元素是数据的基本单位
-
顺序表,删除表尾元素,时间复杂度是O(1)
-
顺序表,删除表头元素,时间复杂度是O(n)
-
长度为n的顺序表,删除某一个元素,平均需要移动(n+1)/2个元素
-
长度为n的顺序表,删除第i个元素,需要移动n-i个元素
-
长度为n,n表示元素个数,下图n为6,删除第i个,下图i是第3个元素,那就要移动i+i到n这些元素,所以移动n-i个元素
-
入栈push(&S,e),是将e这元素插入到栈顶
-
A有3个兄弟,B是A的双亲,B的度是4
-
含有1000个节点的二叉链表中有几个空链域
我的理解:下图有7个节点,每个节点2个指针域,7个节点要6个指针域连接起来,那1000个节点,就有2000个指针域,其中1000个节点需要999个指针域来连接,那就剩下2000-999个节点是空的也就是1001个节点是空的,n个节点的二叉链表,有n+1个空链域
-
深度为10的满二叉树有几个节点:1023个
我的理解:满二叉树,就是编号从上至下,从左至右,变大
除了最后一层有叶子节点,其他层的子节点都是两个,深度为k的满二叉树的节点总数是(2^k)-1
第i层上有2^(i-1)个节点,满二叉树的叶子节点有
2 ^ (k-1)个
-
静态查找中的折半查找,找到20需要几次
{5,8,11,12,15,20,32,41,57}
2014年848数据结构真题复习
于 2022-11-05 00:00:42 首次发布
一套题有自己的思路,用来自己复习,
摘要由CSDN通过智能技术生成