从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( )个结点。A.nB.n/2C.(n-1)/2D.(n+1)/2

从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( )个结点。

A.n

B.n/2

C.(n-1)/2

D.(n+1)/2


相关考题:

对具有n个结点的线性表进行顺序查找,最坏情况下需要的比较次数为_______。

在具有n个结点的单链表上查找值为y的元素时,其时间复杂度为()。 A、O(n)B、O(1)C、O(n2)D、O(n-1)

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。A.求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除表头结点D.删除地址为P的结点的后继结点

在一个长度为n(n>1)的带头结点的单链表head上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。 A.删除单链表中的第一个元素B.删除单链表中的尾结点C.在单链表的第一个元素前插入一个新结点D.在单链表的最后一个元素后插入一个新结点

从一个具有n个结点的单链表中查找其值等于k的结点时,在查找成功的情况下,需平均比较 ______个结点。A.nB.n/2C.(n-1)/2D.(n+1)/2

从一个具有n个结点的单链表中查找值为x的结点时,在查找成功的情况下,需平均比较(45)个结点。A.nB.n/2C.(n-1)/2D.(n+1)/2

从具有n个结点的二叉查找树中查找一个元素时,在最坏情况下进行成功查找的时间复杂度为(51)。A.O(n)B.O(1)C.O(log2n)D.O(n2)

在一个n个结点的单链表中查找某个元素,若查找成功,则平均比较次数为( )。A.nB.n/2C.(n-1)/2D.(n+1)/2

阅读以下说明和 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; }

设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有()个,比较两次查找成功有结点数有()个。

从一个包含2000个结点的散列表A[1..2000]中查找结点的平均比较次数( )从一个包含200个结点的散列表B[1..200]中查找结点的平均比较次数。A.大于B.小于C.等于D.不确定

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。A.遍历链表和求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除开始结点D.删除地址为P的结点的后继结点

从一个具有N个结点的单链表中查找其值等于X结点时,查找成功的情况下,需平均比较()结点。A.NB.N/2C.(N-1)/2D.(N+1)/2

对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为(),在给定值为x的结点后插入一个新结点的时间复杂度为()

对于一个具有n个结点的单链表,已知一个结点的指针p,在其后插入一个新结点的时间复杂度为();若已知一个结点的值为x,在其后插入一个新结点的时间复杂度为()

从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的值大于根结点的值,则继续向()查找。

从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的大于根结点的值,则继续向()查找。

一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。

从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较()个元素结点。A、n/2B、nC、(n+1)/2D、(n-1)/2

假设在有序线性表A[1..20]上进行折半查找,则比较一次查找成功的结点数为(),则比较二次查找成功的结点数为(),则比较三次查找成功的结点数为(),则比较四次查找成功的结点数为(),则比较五次查找成功的结点数为()

对于一个具有n个结点的单链表中,在已知的结点后插入一个新结点的时间复杂度为()在给定值为X的结点后插入一个新结点的时间复杂度为()。

填空题从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的大于根结点的值,则继续向()查找。

填空题假设在有序线性表A[1..20]上进行折半查找,则比较一次查找成功的结点数为(),则比较二次查找成功的结点数为(),则比较三次查找成功的结点数为(),则比较四次查找成功的结点数为(),则比较五次查找成功的结点数为()

填空题一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。

单选题从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较()个元素结点。An/2BnC(n+1)/2D(n-1)/2

填空题对于一个具有n个结点的单链表中,在已知的结点后插入一个新结点的时间复杂度为()在给定值为X的结点后插入一个新结点的时间复杂度为()。

填空题对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为(),在给定值为x的结点后插入一个新结点的时间复杂度为()