更多"对于一个长度为n的线性表,假设表中各结点的查找概率相同,则在查找成功的"的相关试题:
[单项选择]对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
A. log2n
B. n/2
C. n
D. n+1
[单项选择]如果二叉树中任何一个结点的值都大于它的左子树上所有结点的值而小于右子树上所有结点的值,要得到各结点值的递增序列,应按下列哪种次序排列结点
A. NLR
B. LNR
C. LRN
D. 层次
[填空题]对于长度为n的有序线性表,在最坏情况下,二分查找需要比较log2n,那么顺序查找需要比较的次数是 【2】 。
[填空题]对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较______次。
[填空题]给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODI1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
typedef struet aa
int data;
struet aa *next;
NODE;
int fun( NODE *h)
int max=-1:
NODE *p;
/**********found**********/
p=h;
while(p)t
if(p->data>max)max=p->data;
/**********found**********/
p=h->next;
return max;
void outresult(int s,FILE *pf)fprintf(pf,"/nThe max in link: %d/n",s);
NODE *creatlink(int n,int m)
NODE *h,*p,*s;
int i;
h=p=(NODE *)malloc(sizeof(NODE));
h->data=9999;
for(i=1;i<=n;i++)
S=(NODE$)malloe(sizeof(NODE));
s->data=rand( )%m;
s->next=p->next;
p->next=s;
p=p->next;
p->next=NULL;
return h;
void outlink(NODE *h,FILE *pf)
NODE *p;
p=h->next;
fprintf(pf,"/nTHE LIST: /n/n
[填空题]下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun( )的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct aa
{ int data;
struct aa *next;
} NODE;
/*************found**************/
fun (NODE *h)
{ int max=-1;
NODE *p;
p=h->next;
while(p)
{ if(p->data>max)
max=p->data;
/*************found**************/
p=h->next;
}
return max;
}
outresult(int s, FILE *pf)
{ fprintf(pf, "/nThe max in link :%d/n
",s);}
NODE *creatlink(int n, int m)
{ NODE *h,*p,*s,*q;
int i, x;
h=p=(NODE *)malloc(sizeof(NODE));
h->data=9999;
for(i=1;i<=n;i++)
{ s=(NODE *) malloc(sizeof(NODE));
s->data=rand( )%m; s->next=p->next;
p->next=s; p=p->next;
}
p->next=NULL;
return h;
}
outlink(NODE *h,FILE *pf)
{ NODE *p;
[简答题]
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun( )的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。
其累加和通过函数值返回main( )函数。例如,若n=5,则应输出8.391667。
请改正程序中的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdio.h>
#include<stdiib.h>
typedef struct aa
int data;
struct aa *next;
NODE;
int fun(NODE *h)
int sum=0;
NODE *P;
/**********found**********/
p=h;
while(P->next)
if(p->data%2==0)
sum+=p->data;
/**********found**********/
p=h->next;
return sum;
NODE *creatlink(int n)
NODE *h, *p, *s, *q;
int i, x;
h=p=(NODE *)malloc(si zeof(NODE));
for(i=1; i<=n; i++)
s=(NODE *)malloc(sizeof(NODE));
s->data=rand( )%16;
s->next=p->next;
p->next=s;
p=p->next;
p->next=NULL;
return h;
outlink(NODE *h, FILE *Pf)
[简答题]下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正程序指定部位的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
int data;
struct aa *next;
NODE;
fun(NODE *h)
int max=-1;
NODE *p;
/***********found************/
p=h;
while(p)
if(p->data>max)
max=p->data;
/************found************/
p=h->next;
return max;
outresult(int s, FILE *Pf)
fprintf(pf, "/nThe max in link: %d/n", s);
NODE *creatlink(int n, int m)
NODE *h, *p, *s, *q;
int i, x;
h=p=(NODE *)malloc(sizeof(NODE));
h->data=9999;
for(i=1; i<=n; i++)
s=(NODE *)malloc(sizeof(NODE));
s->data=rand( )%m; s->next=p->next;
p->next=s; p=p->next;
p->next=NULL;
return h;
outlink(NODE *h, FILE *pf)
[单项选择]
在各种查找方法中,平均查找长度与查找表中元素个数无关的是()。冒泡排序在最坏情况下时间复杂度为()。
在各种查找方法中,平均查找长度与查找表中元素个数无关的是()。
A. 顺序查找
B. 散列查找
C. 折半查找
D. 动态查找
[简答题]
给定序列{3,5,7,9,11,13,15,17},
求在等概率情况下查找成功的平均查找长度。
[简答题]
给定序列{3,5,7,9,11,13,15,17},
求其在等概率情况下查找成功的平均查找长度。