考研吧 关注:5,514,494贴子:40,962,211
  • 5回复贴,共1

7.20日考研专业课记录

只看楼主收藏回复

1
一:错误,顺序存储结构如果优于链式,那我们没必要学习链式存储了。
二:链式存储可以更方便的表示各种逻辑结构,因为链式存储用指针可以随意指向下一个逻辑结构,甚至可以指向多个结点,但是顺序存储不可以。
三:写反了,链式优于顺序。
四:顺序存储可以顺序存取也可以随机存取
所以选b
2
a不能快速插入删除
c散列存储方式是指在一片空间内查找元素,用‘关键字’去查找,所以不能反应数据之间的逻辑关系
3
结点之间的存储单元地址不一定连续,但是结点内的存储单元地址一定是连续的。
4
一:后面会学到二维数组顺序存储图或树等结构,所以只存储线性结构是错误的。
二:链表删除表尾元素需要遍历一遍表,所以时间复杂度和表长有关。错误的
三:带头结点的单循环链表中不存在空指针,即使只有一个结点,他也要指向自己。对的
四:插入新节点,要先遍历再插入即时间复杂度为O(n)
五:对,带尾指针的循环链表用来表示队列很合适。队列要考虑入队出队,即尾指针后入队,直接插入即可,出队也是用尾指针指向新的结点即可。
5
a找元素的时间复杂度一样,单链表删除的效率高于顺序表
b单链表要遍历,顺序表可以直接插入
c时间复杂度一样,都是逐个输出
d单链表要遍历,顺序表可以随机读取,只是交换复杂一点,但时间复杂度是O(1)
6
q指向一个结点,该节点指向p所指的结点,现在要让该节点指向s,再让s指向p所指的结点。
即调整p->next和s->next,选c

7
O(n平方)或者O(nlog2n)
直接插入有序数组时间复杂度为前者
先排序时间段复杂度为后者,在建立相对应的有序单链表时间复杂度为O(n),后者省略。
最低为d


IP属地:四川1楼2024-07-20 15:25回复
    8
    遍历一遍m,O(m),然后尾结点指向n,O(1),加起来所以答案选c
    9
    有头结点后,插入和删除的操作统一了,空表和非空表的操作也统一了。
    增加头结点之后, 对第一个结点的删除或者插入,都不会对头结点有影响,不用再考虑第一个结点的变化了,同时如果表是空的转换为非空的,非空的转化为空的,头结点都没有发生变化。
    这些是为了方便运算。
    10
    选b
    关键是尾指针可以做什么
    ac删除第一个元素,和第一个元素后插入新元素,都可以用头指针直接做到。
    b最后一个元素删除,那么需要最后一个元素的前一个元素指向空,尾指针找不到倒数第二个元素,只能遍历,所以该操作与表长相关。
    d最后一个元素中插入一个新元素,可以用尾指针做到,尾指针找到最后一个结点,让最后一个结点指向新元素,并让尾指针指向新的元素即可。
    11
    第一个,头结点要指向空,b
    第二个,单链表是空表,那么并且不带头结点,所以首结点本身就是空的,a


    IP属地:四川2楼2024-07-20 16:19
    回复
      12
      线性表是链表或者顺序表,链表直接改指针指向结点即可,移动0个元素
      若是顺序表,则要么移动a0到a49,要么移动a51-a100,使其相邻,都是五十个元素。
      所以选d
      13
      则L中的元素次序:
      头插法每次把新节点插到最前面,所以与a的元素次序应该正好相反。
      14
      a删除最后一个元素后,尾指针需要找到倒数第二个元素的位置,并指向他,所以需要遍历一遍链表,与链表长度有关。
      b头结点和尾节点一个没有前驱,一个没有后继。
      c双链表删除数据之后,可以找到前一个结点的位置,所以可以很方便的删除数据。
      d顺序表可以随机存取,链表是对的。
      c是对的。
      15
      哭了,这题感觉做了一年,终于懂了d
      16
      c
      17


      IP属地:四川3楼2024-07-20 19:50
      收起回复
        哥们第四题的第二个选项有问题吧 有尾指针 还要遍历吗 不是尾指针直接往前移一位就好了吗


        IP属地:广东来自iPhone客户端4楼2024-08-05 19:10
        回复
          尾指针指向最后一个结点,但是如果把最后一个节点删除了的话,你要让尾指针再去找倒数第二个结点的位置,单链表不能往前找,只能从头遍历,让尾指针指向倒数第二个结点。所以还是要遍历的


          IP属地:四川5楼2024-08-06 10:15
          回复