作业线性表练习

线性表练习

1-1对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。T
作者: DS课程组单位: 浙江大学1-1答案正确(2 分)

1-2对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。F
作者: 徐镜春单位: 浙江大学1-2答案正确(2 分)

1-3循环链表不是线性表。F
作者: 李廷元单位: 中国民用航空飞行学院1-3答案正确(2 分)

1-4顺序存储的线性表可以随机存取。T
作者: 李廷元单位: 中国民用航空飞行学院1-4答案正确(2 分)

1-5链式存储的优点是插入、删除元素时不会引起后续元素的移动,缺点是只能顺序访问各元素。T
作者: DS课程组单位: 临沂大学1-5答案正确(2 分)

2-1在NNN个结点的顺序表中,算法的时间复杂度为O(1)的操作是:A
A.访问第iii个结点(1≤i≤N1\le i\le N1≤i≤N)和求第iii个结点的直接前驱(2≤i≤N2\le i\le N2≤i≤N)
B.在第iii个结点后插入一个新结点(1≤i≤N1\le i\le N1≤i≤N)
C.删除第iii个结点(1≤i≤N1\le i\le N1≤i≤N)
D.将N个结点从小到大排序
作者: DS课程组单位: 浙江大学2-1答案正确(2 分)

2-2若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间? D
A.双链表
B.单循环链表
C.带头结点的双循环链表
D.顺序表
作者: DS课程组单位: 浙江大学2-2答案正确(2 分)

2-3下面的叙述正确的是( )。D
A.线性表在链式存储时,查找第i个元素的时间同i的值成反比
B.线性表在链式存储时,查找第i个元素的时间同i的值无关
C.线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D.线性表在顺序存储时,查找第i个元素的时间同i的值无关
作者: DS课程组单位: 临沂大学2-3答案正确(2 分)

2-4设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:D
A.h=t; t->next=h->next;
X.t->next=h->next; h=t;
C.h=t; t->next=h;
D.t->next=h; h=t;
作者: DS课程组单位: 浙江大学2-4答案正确(2 分)

2-5带头结点的单链表h为空的判定条件是:B
A. h == NULL;
B.h->next == NULL;
C.h->next == h;
D.h != NULL;
作者: DS课程组单位: 浙江大学2-5答案正确(2 分)

5-1合并两个排序的整数数组A和B变成一个新的数组。例如,给出A={1,2,3,4},B={2,4,5,6},则合并后的数组为 {1,2,2,3,4,4,5,6}。

#include <stdio.h>
#include <iostream>
#include <vector>
using namespace std;

class Solution {
public:
    /** * @param A and B: sorted integer array A and B. * @return: A new sorted integer array */
    vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
        vector<int> result;
        int lena = A.size();
        int lenb = B.size();
        int ia = 0, ib = 0;
        while (ia < lena && ib < lenb)
        {
            int val_a = A[ia];
            int val_b = B[ib];
            int val;
            if (val_a <= val_b) {val = val_a; ia++;}
            else {val = val_b; ib++;}
            result.push_back(val)(4);
        }
        while (ia < lena)
        {
            result.push_back(A[ia]);
            ia++(3);
        }
        while (ib<lenb(3))
        {
            result.push_back(B[ib]);
            ib++;
        }
        return result;
    }

5-2下列代码的功能是返回带头结点的单链表L的逆转链表。

List Reverse( List L )
{
    Position Old_head, New_head, Temp;
    New_head = NULL;
    Old_head = L->Next;

    while ( Old_head )  {
        Temp = Old_head->Next;
        Old_head->Next=Now_head(3);  
        New_head = Old_head;  
        Old_head = Temp; 
    }
    L->Next=New_head(3);
    return L;
}
全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
Java抽象带篮子:简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进...
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务