网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

单链表中查找第i个元素的时间复杂度是()。

  • A、O(1)
  • B、O(n)
  • C、O(nn)
  • D、都不对

参考答案

更多 “单链表中查找第i个元素的时间复杂度是()。A、O(1)B、O(n)C、O(nn)D、都不对” 相关考题
考题 单链表中取第i个元素的时间与i成正比。() 此题为判断题(对,错)。

考题 能在O(1)时间内访问线性表的第i个元素的结构是()A.顺序表B.单链表C.单向循环链表D.双向链表

考题 若某线性表中最常用的操作是取第I个元素和找第I个元素的前趋元素,则采用____存储方式最节省时间。A.顺序表B.单链表C.双链表D.单循环链表

考题 在下列对单链表进行的操作中,算法时间复杂度为O(n)的是()。 A、访问第i个元素的前驱(1B、在第i个元素之后插入一个新元素(1≤i≤n)C、删除第i个元素(1≤i≤n)D、对表中元素进行排序

考题 在单链表中,查找第i个的元素时,其时间复杂度为()。 A、O(n)B、O(1)C、O(n2)D、O(n-1)

考题 单链表中,按序号查找和按值查找的时间复杂度不同。() 此题为判断题(对,错)。

考题 阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数 GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。 函数DelListElem(LinkList L,int i,ElemType *e) 的功能是删除含头结点单链表的第 i个元素结点,若成功则返回 SUCCESS ,并由参数e 带回被删除元素的值,否则返回ERROR 。 例如,某含头结点单链表 L 如图 4-1 (a) 所示,删除第 3 个元素结点后的单链表如 图 4-1 (b) 所示。图4-1define SUCCESS 0 define ERROR -1 typedef int Status; typedef int ElemType; 链表的结点类型定义如下: typedef struct Node{ ElemType data; struct Node *next; }Node ,*LinkList; 【C 代码】 LinkList GetListElemPtr(LinkList L ,int i) { /* L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点: 若找到,则返回该元素结点的指针,否则返回NULL */ LinkList p; int k; /*用于元素结点计数*/ if (i1 ∣∣ !L ∣∣ !L-next) return NULL; k = 1; P = L-next; / *令p指向第1个元素所在结点*/ while (p (1) ) { /*查找第i个元素所在结点*/ (2) ; ++k; } return p; } Status DelListElem(LinkList L ,int i ,ElemType *e) { /*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/ LinkList p,q; /*令p指向第i个元素的前驱结点*/ if (i==1) (3) ; else p = GetListElemPtr(L ,i-1); if (!p ∣∣ !p-next) return ERROR; /*不存在第i个元素*/ q = (4) ; /*令q指向待删除的结点*/ p-next = q-next; /*从链表中删除结点*/ (5) ; /*通过参数e带回被删除结点的数据*/ free(q); return SUCCESS; }

考题 阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 函数GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。 函数DelListElem(LinkList L,int i,ElemType *e)的功能是删除含头结点单链表的第i个元素结点,若成功则返回SUCCESS,并由参数e带回被删除元素的值,否则返回ERROR。 例如,某含头结点单链表L如下图(a)所示,删除第3个元素结点后的单链表如下图(b)所示。 1.jpg #define SUCCESS 0 #define ERROR -1 typedef intStatus; typedef intElemType; 链表的结点类型定义如下: typedef struct Node{ ElemType data; struct Node *next; }Node,*LinkList; [C代码] LinkListGetListElemPtr(LinkList L,int i) { /*L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点; 若找到,则返回该元素结点的指针,否则返回NULL */ LinkList p; int k; /*用于元素结点计数*/ if(i<1 || !L || !L->next) return NULL; k=1; p=L->next; /*令p指向第1个元素所在结点*/ while(p ++k; } return p; } StatusDelListElem(LinkList L,int i,ElemType *e) { /*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/ LinkList p,q; /*令P指向第i个元素的前驱结点*/ if(i==1) ______; else p=GetListElemPtr(L,i-1); if(!P || !p->next) return ERROR; /*不存在第i个元素*/ q=______; /*令q指向待删除的结点*/ p->next=q->next; //从链表中删除结点*/ ______; /*通过参数e带回被删除结点的数据*/ free(q); return SUCCESS; }

考题 若线性表最常用的运算是查找第i个元素及其前驱的值,则下列存储方式最节省时间的是()。A.单链表 B.双链表 C.单循环链表 D.顺序表

考题 统计单链表中元素个数的时间复杂度是()。

考题 以顺序查找方法从长度为n的顺序表或单链表中查找一个元素时,平均查找长度为(),时间复杂度为()

考题 对于一个单链表,在表头插入结点的时间复杂度为()在表尾插入元素的时间复杂度为()。

考题 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋,则采用()存储方法最节省时间。A、顺序表B、单链表C、双链表D、单循环链表

考题 若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。A、顺序表B、单链表C、双链表D、单循环链表

考题 在n个结点的单链表中,查找第i个元素,和修改第i个元素的时间复杂度都是()。A、O(1)B、O(n)C、O(nn)D、都不对

考题 数据结构与算法里,O(n)是以下哪种算法的复杂度()。A、顺序查找B、顺序表删除元素C、顺序表插入元素D、单链表查找第i个元素

考题 数据结构中,O(n)是以下哪种算法的复杂度()。A、顺序查找B、顺序表删除元素C、顺序表插入元素D、单链表查找第i个元素

考题 单链表中修改第i个元素的时间复杂度是()。A、O(1)B、O(n)C、O(nn)D、都不对

考题 填空题统计单链表中元素个数的时间复杂度是()。

考题 单选题单链表中查找第i个元素的时间复杂度是()。A O(1)B O(n)C O(nn)D 都不对

考题 填空题以顺序查找方法从长度为n的顺序表或单链表中查找一个元素时,平均查找长度为(),时间复杂度为()

考题 单选题若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋,则采用()存储方法最节省时间。A 顺序表B 单链表C 双链表D 单循环链表

考题 单选题单链表中修改第i个元素的时间复杂度是()。A O(1)B O(n)C O(nn)D 都不对

考题 多选题数据结构中,O(n)是以下哪种算法的复杂度()。A顺序查找B顺序表删除元素C顺序表插入元素D单链表查找第i个元素

考题 多选题数据结构与算法里,O(n)是以下哪种算法的复杂度()。A顺序查找B顺序表删除元素C顺序表插入元素D单链表查找第i个元素

考题 单选题在n个结点的单链表中,查找第i个元素,和修改第i个元素的时间复杂度都是()。A O(1)B O(n)C O(nn)D 都不对

考题 单选题若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。A 顺序表B 单链表C 双链表D 单循环链表