2014年848数据结构真题复习

一套题有自己的思路,用来自己复习,
摘要由CSDN通过智能技术生成
  1. 求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)
    
  2. 数据元素是数据的基本单位

  3. 顺序表,删除表尾元素,时间复杂度是O(1)

  4. 顺序表,删除表头元素,时间复杂度是O(n)

  5. 长度为n的顺序表,删除某一个元素,平均需要移动(n+1)/2个元素

  6. 长度为n的顺序表,删除第i个元素,需要移动n-i个元素

  7. 长度为n,n表示元素个数,下图n为6,删除第i个,下图i是第3个元素,那就要移动i+i到n这些元素,所以移动n-i个元素
    在这里插入图片描述

  8. 入栈push(&S,e),是将e这元素插入到栈顶

  9. A有3个兄弟,B是A的双亲,B的度是4
    在这里插入图片描述

  10. 含有1000个节点的二叉链表中有几个空链域
    我的理解:下图有7个节点,每个节点2个指针域,7个节点要6个指针域连接起来,那1000个节点,就有2000个指针域,其中1000个节点需要999个指针域来连接,那就剩下2000-999个节点是空的也就是1001个节点是空的,n个节点的二叉链表,有n+1个空链域
    在这里插入图片描述

  11. 深度为10的满二叉树有几个节点:1023个
    我的理解:满二叉树,就是编号从上至下,从左至右,变大
    除了最后一层有叶子节点,其他层的子节点都是两个,深度为k的满二叉树的节点总数是(2^k)-1
    第i层上有2^(i-1)个节点,满二叉树的叶子节点有
    2 ^ (k-1)个
    在这里插入图片描述

  12. 静态查找中的折半查找,找到20需要几次
    {5,8,11,12,15,20,32,41,57}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值