王道数据结构错题总结——第一章

1.可以用(抽象数据类型)定义一个完整的数据结构。

解析:抽象数据类型(ADT)描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据关系,基本操作集)这样的三元组来表示,从而构成一个完整的数据结构定义。

2.数据的逻辑结构独立于其逻辑结构。

解析:数据的逻辑结构是从面向实际问题的角度出发的,只采用抽象表达方式,独立于存储结构,数据的存储方式有多种不同的选择;而数据的存储结构是逻辑结构在计算机上的映射,它不能独立于逻辑结构二存在。

3.对于不同的数据结构,逻辑结构和物理结构可以完全相同。

例子:二叉树和二叉排序树

4.一个算法应该是问题求解步骤的描述

解析:算法的定义是问题求解步骤的描述。

5.已知两个长度分别为m和n的升序链表,若将它们合并为长度为m+n的一个降序链表,则最坏情况下的时间复杂度为(O(max(m,n)))

解析:两个升序链表合并,两两比较表中元素,每比较一次,确定一个元素的链接位置(取较小元素,头插法)。当一个链表结束后,将另一个链表的剩余元素插入即可。最坏情况是两个元素依次进行比较,为O(max(m,n))。

6.下列函数的时间复杂度为O(n^0.5)

int func(int n){
    int i=0;
    int sum=0;
    while(sum<n)
        sum+=++i;
    return i;
}

解析:sum=0+1+2+...+i,所以sum为等差数列的和,为(i*(i+1))/2且sum<n,所以是O(n^0.5)。

7.算法原地工作是指算法所需的辅助空间是常量

8.在相同规模n下,复杂度为O(n)的算法在时间上总是优于复杂度为O(2^n)。

解析:时间复杂度是指渐进时间复杂度,不应该给n赋予一个特殊值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值