更多"单向哈希函数的特性有()。"的相关试题:
[单项选择]查找哈希(Hash)表,不会发生冲突的哈希函数是______。
A. 除留余数法
B. 伪随机探测再散列法
C. 直接地址法
D. 线性探测再散列法
[填空题]
设哈希函数h(k)=k mod 7,哈希表的地址空间为0~6,对关键字序列(32,13,49,55,22,38,12)按线性探测法解决冲突,关键字12应存放在散列表中的地址是 (18) ,查找关键字12需比较的次数为 (19) 。
(18)里填?
[单项选择]哈希函数可以减少冲突,但仍不可避免,通常处理冲突的方法有再哈希法,建立公共溢出区和( )。
A. 链地址法和直接定址法
B. 线性探测再散列法和二次探测再散列法
C. 开方定址法和链地址
D. 除留余数法和数字分析法
[单项选择]在进行消息认证时,经常利用安全单向散列函数产生消息摘要。安全单向散列函数不需要具有下列哪个特性( )
A. 相同输入产生相同输出
B. 提供随机性或者伪随机性
C. 易于实现
D. 根据输出可以确定输入消息
[单项选择]数据库文件结构包括堆文件、索引文件和散列文件等几种形式,利用哈希函数实现对数据库快速访问的文件结构是______。
A. 顺序文件
B. 聚集文件
C. 索引文件
D. 散列文件
[单项选择]安全单向散列函数不具备下列哪个特性
A. 单向散列函数能处理任意大小的信息,其生成的信息摘要数据块长度总是具有固小
B. 对同一个源数据反复执行该函数得到的信息摘要相同
C. 单向散列函数生成的信息商要是不可预见的,原始信息的一个微小变化都会对新产生的信息摘要产生很大的影响
D. 具有可逆性,可以通过信息摘要重新生成原始数据信息
[单项选择]安全单向散列函数不具备的特性是 ( )
A. 能处理任意大小的信息,其生成的信息摘要数据块总是具有固定的大小
B. 对同一源数据反复执行该函数得到的信息摘要相同
C. 生成的信息摘要是不可预见的,原始数据的一个微小变化都会对新产生的信息摘要产生很大的影响
D. 具有可逆性,可以通过信息摘要重新生成原始数据信息
[单项选择]安全单向散列函数不具备的特征是 (62) 。
A. 能处理任意大小的信息,其生成的信息摘要数据块长度总是具有固定的大小
B. 对同一个源数据反复执行该函数得到的信息摘要相同
C. 具有可逆性,可以通过信息摘要重新生成原始数据信息
D. 生成的信息摘要是不可预见的,原始数据信息的一个微小变化都会对新产生的信息摘要产生很大影响
[单项选择]下列选项不属于单向流气流组织特性指标的是( )。
A. 下限风速
B. 换气次数
C. 乱流度
D. 流线平行度
[简答题]给定程序MODI1.C是建立一个带头结点的单向链表, 并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
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)
{ NODE *p;
p=h->next;
fprintf(pf,"/nTHE LIST :/n/n HEAD ");
while(p)
{ fprintf(pf,"->%d ",p->data); p=p->next; }
fprintf(pf,"/n");
}
main( )
{ NODE *head; int m;
head=creatlink(12, 100);
outlink(head , stdout);
m=fun(head);
printf("/nTHE RESULT :/n"); outresult(m, stdout);
}
[填空题]下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数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;
[判断题]硅整流发电机是利用二极管的单向导电特性将直流电变为交流电。( )
A.正确
B.错误
[填空题]给定程序中已建立一个带有头结点的单向链表,在main( )函数中将多次调用fun( )函数,依次输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
int data;
struct list *next;
SLIST;
void fun(SLIST *p)
SLIST *t,*s;
t=p->next;s=p;
while(t->next!=NULL)
s=t;
/**********found**********/
t=t-> (1) ;
/**********found**********/
printf("%d", (2) );
s->next=NULL;
/**********found**********/
free( (3) );
SLIST *creatlist(int *a)
SLIST*h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p->next=q;p=q;
p->next=0;
return h;
void outlist(SLIST *h)
SLIST *p;
p=h->next;
if(p==NULL)printf("/nThe list is NULL!/a");
else
printf("/nHead");
do printf("->%d",p->data);p=p->next;while(p!=NULL);
[填空题]请补充函数fun( ),该函数的功能是建立一个带头结点的单向链表并输出到文件“out98.dat”和屏幕上,各结点的值为对应的下标,链表的结点数及输出的文件名作为参数传入。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仪在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio. h>
#include<conio. h>
#include<stdlib. h>
typedef struct ss
int data;
struct ss *next;
NODE;
void fun(int n,char*filename)
NODE *h,*p, *s;
FILE *pf;
int i;
h=p= (NODE *) malloc (sizeof (NODE));
h->data=0;
for (i=1; i
s=(NODE *)malloc (sizeof (NODE));
s->data= 【1】 ;
【2】 ;
p= 【3】
p->next=NULL;
if ( (pf=fopen (filename, "w") ) ==NULL)
printf "Can not open out9B.clat! ");
exit (0);
p=h;
fprintf (pf, "/n***THE LIST***/n");
print f ("/n***THE LIST***/n")
while (p)
fprintf (pf, "%3d", p->data)
printf ("%3d",p->data);
if (p->next ! =NULL)