文档库 最新最全的文档下载
当前位置:文档库 › 第八章 2索引与散列

第八章 2索引与散列

第八章 2索引与散列
第八章 2索引与散列

第8章索引与散列

10-1 什么是静态索引结构?什么是动态索引结构?它们各有哪些优缺点?

【解答】

静态索引结构指这种索引结构在初始创建,数据装入时就已经定型,而且在整个系统运行期间,树的结构不发生变化,只是数据在更新。动态索引结构是指在整个系统运行期间,树的结构随数据的增删及时调整,以保持最佳的搜索效率。静态索引结构的优点是结构定型,建立方法简单,存取方便;缺点是不利于更新,插入或删除时效率低。动态索引结构的优点是在插入或删除时能够自动调整索引树结构,以保持最佳的搜索效率;缺点是实现算法复杂。

10-2 设有10000个记录对象, 通过分块划分为若干子表并建立索引, 那么为了提高搜索效率, 每一个子表的大小应设计为多大?

【解答】

每个子表的大小s = ?n? = ?10000? = 100 个记录对象。

10-3如果一个磁盘页块大小为1024 (=1K) 字节,存储的每个记录对象需要占用16字节,其中关键码占4字节,其它数据占12字节。所有记录均已按关键码有序地存储在磁盘文件中,每个页块的第1个记录用于存放线性索引。另外在内存中开辟了256K字节的空间可用于存放线性索引。试问:

(1) 若将线性索引常驻内存,文件中最多可以存放多少个记录?(每个索引项8字节,其中关键码4字节,地址4字节)

(2) 如果使用二级索引,第二级索引占用1024字节(有128个索引项),这时文件中最多可以存放多少个记录?

【解答】

(1) 因为一个磁盘页块大小为1024字节,每个记录对象需要占用16字节,则每个页块可存放1024 / 16 = 64个记录,除第一个记录存储线性索引外,每个页块可存储63个记录对象。又因为在磁盘文件中所有记录对象按关键码有序存储,所以线性索引可以是稀疏索引,每一个索引项存放一个页块的最大关键码及该页块的地址。若线性索引常驻内存,那么它最多可存放256 * (1024 / 8 ) = 256 * 128 = 32768个索引项,文件中可存放32768 * 63 = 2064384个记录对象。

(2) 由于第二级索引占用1024个字节,内存中还剩255K 字节用于第一级索引。第一级索引有255 * 128 = 32640个索引项,作为稀疏索引,每个索引项索引一个页块,则索引文件中可存放32640 * 63 = 2056320。

的整型数关键码和一个变长的数据字段组成。数据字段都

是字符串。为了存放右面的那些记录,应如何组织线性索

引?

【解答】

将所有字符串依加入的先后次序存放于一个连续的

存储空间store中,这个空间也叫做“堆”,它是存放所有

字符串的顺序文件。它有一个指针free,指示在堆store中当前可存放数据的开始地址。初始时free置为0,表示可从文件的0号位置开始存放。线性索引中每个索引项给出记录关键码,字符串在store中的起始地址和字符串的长度:

索引表ID 堆store

10-5 记录地址 10032 10068 10104 10140 10176 10212 10248 10284 10320 其中,关键码为职工号。试根据此文件,对下列查询组织主索引和倒排索引,再写出搜索结果关键码。(1) 男性职工;(2) 月工资超过800元的职工;(3) 月工资超过平均工资的职工;(4) 职业为实验员和行政秘书的男性职工;(5) 男性教师或者年龄超过25岁且职业为实验员和教师的女性职工。 【解答】

搜索结果:

(1) 男性职工 (搜索性别倒排索引):{034, 073, 081, 092, 123}

(2) 月工资超过800元的职工 (搜索月工资倒排索引):{064, 081}

(3) 月工资超过平均工资的职工(搜索月工资倒排索引) {月平均工资776元}:

{064, 081, 140}

(4) 职业为实验员和行政秘书的男性职工(搜索职务和性别倒排索引): {073, 123, 175} && {034, 073, 081, 092, 123} = {073, 123} (5) 男性教师 (搜索性别与职务倒排索引):

{034, 073, 081, 092, 123} && { 034, 064, 081, 092, 140, 209} = {034, 081, 092}

年龄超过25岁且职业为实验员和教师的女性职工 (搜索性别、职务和年龄倒排索引): {064, 140, 175, 209} && {034, 064, 073, 081, 092, 140, 175, 209} && {034, 064, 073, 081,092, 123, 140, 175} = {064, 140, 175}

10-6 倒排索引中的记录地址可以是记录的实际存放地址,也可以是记录的关键码。试比较这两种方式的优缺点。 【解答】 在倒排索引中的记录地址用记录的实际存放地址,搜索的速度快;但以后在文件中插入或删除记录对象时需要移动文件中的记录对象,从而改变记录的实际存放地址,这将对所有的索引产生影响:修改所有倒排索引的指针,不但工作量大而且容易引入新的错误或遗漏,使得系统不易维护。

记录地址采用记录的关键码,缺点是寻找实际记录对象需要再经过主索引,降低了搜索速度;但以后在文件中插入或删除记录对象时,如果移动文件中的记录对象,导致许多记录对象的实际存放地址发生变化,只需改变主索引中的相应记录地址,其他倒排索引中的指针一律不变,使得系统容易维护,且不易产生新的错误和遗漏。

10-7 m = 2的平衡m 路搜索树是A VL 树,m = 3的平衡m 路搜索树是2-3树。它们的叶结点必须在同一层吗?m 阶B 树是平衡m 路搜索树,反过来,平衡m 路搜索树一定是B 树吗?为什么? 【解答】

m = 3的平衡m 路搜索树的叶结点不一定在同一层,而m 阶B_树的叶结点必须在同一层,所以m 阶B_树是平衡

m 路搜索树,反过来,平衡m

路搜索树不一定是B_树。

10-8 下图是一个3阶B 树。试分别画出在插入65、15、40、30之后B 树的变化。

【解答】 插入65后:

插入15后:

插入40后:

插入30后:

10-9 下图是一个3阶B 树。试分别画出在删除50、40之后B 树的变化。

【解答】

删除50后:

删除40后:

10-10 对于一棵有1999999个关键码的199阶B 树,试估计其最大层数(不包括失败结点)及最小层数(不包括失败结点)。 【解答】 设B 树的阶数m = 199,则?m/2? = 100。若不包括失败结点层,则其最大层数为 ?log ?m/2? ((N+1)/2)? + 1 = ?log 100 1000000? +1 = 4

若使得每一层关键码数达到最大,可使其层数达到最小。第0层最多有(m -1)个关键码,第

1层最多有(m -1)2个关键码,?,第h -1层最多有(m -1)h

个关键码。层数为h 的B 树最多有

(m -1) + (m -1)2 + … + (m -1)h -1 = (m -1) ( (m -1)h

– 1 ) / (m -2)个关键码。反之,若有n 个关键码,n ≤ (m -1) ( (m -1)h – 1 ) / (m -2),则 h ≥ log (m -1) (n(m -2)/(m -1)+1),所以,有1999999个关键码的199阶B 树的最小层数为 ?log (m -1) (n*(m -2)/(m -1)+1)? = ?log 198 (1999999*197 / 198 +1)? = ?log 198 1989899?

10-11 给定一组记录,其关键码为字符。记录的插入顺序为 { C, S, D, T, A, M, P , I, B, W, N, G , U, R, K, E, H, O, L, J },给出插入这些记录后的4阶B+树。假定叶结点最多可存放3个记录。 【解答】

插入C, S, D 插入T 插入A 插入M

插入P 插入I

插入B, W , N, G 插入U

插入R

插入K

插入H

插入O, L

插入J

10-12 设有一棵B+树,其内部结点最多可存放100个子女,叶结点最多可存储15个记录。对于1, 2, 3, 4, 5层的B+树,最多能存储多少记录,最少能存储多少记录。 【解答】 一层B+树:根据B+树定义,一层

B+树的结点只有一个,它既是根结点又是叶结点,最多可存储m1 = 15个记录,最少可存储 ?m1/2? = 8个记录。

二层B+树:第0层是根结点,它最多有m = 100棵子树,最少有2个结点;第1层是叶结点,它最多有m 个结点,最多可存储m*m1 = 100*15 = 1500个记录,最少有2个结点,最少可存储2* ?m1/2? = 16个记录。

三层B+树:第2层是叶结点。它最多有m 2个结点,最多可存储m 2

* m1 = 150000个记录。最少有2* ?m/2? = 100个结点,最少可存储2* ?m/2? * ?m1/2? = 800个记录。

四层B+树:第3层是叶结点。它最多有m 3个结点,可存储m 3 * m1 = 15000000个记录。

最少有2* ?m/2

? 2 = 2 * 502 = 5000个结点,存储2* ?m/2? 2

* ?m1/2? = 40000个记录。

五层B+树:第4层是叶结点。它最多有m 4个结点,可存储m 4 * m1 = 1500000000个记

录。最少有2* ?m/2? 3 = 2 * 503 = 250000个结点,存储2* ?m/2? 3 * ?m1/2? = 2000000个记录。

10-13设散列表为HT[13], 散列函数为 H (key ) = key %13。用闭散列法解决冲突, 对下列关键码序列 12, 23, 45, 57, 20, 03, 78, 31, 15, 36 造表。 (1) 采用线性探查法寻找下一个空位, 画出相应的散列表, 并计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度。 (2) 采用双散列法寻找下一个空位, 再散列函数为 RH (key ) = (7*key ) % 10 + 1, 寻找下一个空位的公式为 H i = (H i-1 + RH (key )) % 13, H 1 = H (key )。画出相应的散列表, 并计算等概率下搜索成功的平均搜索长度。 【解答】 使用散列函数 H(key ) = key mod 13,有 H(12) = 12, H(23) = 10, H(45) = 6, H(57) = 5, H(20) = 7, H(03) = 3, H(78) = 0, H(31) = 5, H(15) = 2, H(36) = 10. (1) 利用线性探查法造表:

搜索成功的平均搜索长度为

ASL succ = 110

(1 + 1 + 1 + 1 + 1 + 1 + 4 + 1 + 2 + 1) = 1410

搜索不成功的平均搜索长度为

ASL unsuc c =

113

(2 + 1 + 3 + 2 + 1 + 5 + 4 + 3 + 2 + 1 + 5 + 4 + 3) = 3613

(2) 利用双散列法造表:

H i = (H i -1 + RH (key)) % 13, H 1 = H (key)

搜索成功的平均搜索长度为

ASL succ =

110

(1 + 1 + 1 + 1 + 1 + 1 + 3 + 5 + 1 + 1) =

1610

10-14 设有150个记录要存储到散列表中, 要求利用线性探查法解决冲突, 同时要求找到所需记录的平均比较次数不超过2次。试问散列表需要设计多大? 设α是散列表的装载因子,则有

)111(2

1ASL

succ

α

-+

=

【解答】

已知要存储的记录数为n = 150,查找成功的平均查找长度为ASL succ ≤ 2,则有ASL succ =1211

1+

-??

?

??α≤ 2,解得 α ≤23

。又有α =

n m

m

=

150≤

23

,则 m ≥ 225。

10-15 若设散列表的大小为m ,利用散列函数计算出的散列地址为h = hash(x)。

(1) 试证明:如果二次探查的顺序为(h + q 2), (h + (q -1)2), …, (h+1), h, (h -1), …, (h -q 2

),其中, q = (m -1)/2。因此在相继被探查的两个桶之间地址相减所得的差取模(%m)的结果为 m -2, m -4, m -6, …, 5, 3, 1, 1, 3, 5, …, m -6, m -4, m -2 (2) 编写一个算法,使用课文中讨论的散列函数h(x)和二次探查解决冲突的方法,按给定值x 来搜索一个大小为m 的散列表。如果x 不在表中,则将它插入到表中。

【解答】

(1)将探查序列分两部分讨论:

(h + q2), (h + (q-1)2), …, (h+1), h 和(h-1), (h-22), …, (h-q2)。

对于前一部分,设其通项为h + ( q – d )2, d = 0, 1, …, q,则相邻两个桶之间地址相减所得的差取模:

( h + (q – (d -1) )2 – ( h + (q – d )2 ) ) % m = ( (q – (d -1 ) )2 – (q – d )2 ) % m

= (2*q -2*d +1) % m = ( m – 2*d ) % m. ( 代换q = (m-1)/2 )

代入 d = 1, 2, …, q,则可得到探查序列如下:

m-2, m-4, m-6, …, 5, 3, 1。( m – 2*q = m – 2* (m-1)/2 = 1 )

对于后一部分,其通项为h – ( q – d )2, d = q, q+1, …, 2q,则相邻两个桶之间地址相减所得的差取模:

( h – ( q – d )2– ( h – ( q – (d+1) )2 ) ) % m = ( ( q – (d+1)2– (q – d )2 ) % m

= ( 2*d – 2*q +1) % m = ( 2*d – m + 2) % m ( 代换q = (m-1)/2 )

代入 d = q, q+1, …, 2q-1,则可得到

2*d–m+2 = 2*q – m +2 = m – 1 – m +2 = 1,

2*d–m+2 = 2*q + 2 – m +2 = m – 1 + 2 – m +2 = 3, ……,

2*d–m+2 = 2*(2*q-1) – m +2 = 2*(m–1–1) – m + 2 = 2*m – 4 – m +2 = m – 2。〖证毕〗

(2) 编写算法

下面是使用二次探查法处理溢出时的散列表类的声明。

template class HashTable {//散列表类的定义

public:

enum KindOfEntry { Active, Empty, Deleted }; //表项分类(活动/ 空/ 删)

HashTable ( ) : TableSize ( DefaultSize ) { AllocateHt ( ); CurrentSize = 0; } //构造函数

~HashTable ( ) { delete [ ] ht;} //析构函数

const HashTable & operator = ( const HashTable & ht2 ); //重载函数:表赋值

int Find ( const Type & x ); //在散列表中搜索x

int IsEmpty ( ) { return !CurrentSize ? 1 : 0;} //判散列表空否,空则返回1 private:

struct HashEntry { //散列表的表项定义

Type Element; //表项的数据, 即表项的关键码

KindOfEntry info; //三种状态: Active, Empty, Deleted

HashEntry ( ) : info (Empty ) { }//表项构造函数

HashEntry ( const Type &E, KindOfEntry i = Empty ) : Element (E), info (i) { }

};

enum { DefualtSize = 31;}

HashEntry *ht;//散列表存储数组

int TableSize; //数组长度,要求是满足4k+3的质数,k是整数

int CurrentSize;//已占据散列地址数目

void AllocateHt ( ) { ht = new HashEntry[TableSize ];} //为散列表分配存储空间;

int FindPos ( const Type & x ); //散列函数

};

template const HashTable & HashTable ::

operator = ( const HashTable&ht2 ) {

//重载函数:复制一个散列表ht2

if ( this != &ht2 ) {

delete [ ] ht; TableSize = ht2.TableSize;AllocateHt ( ); //重新分配目标散列表存储空间

for ( int i = 0; i < TableSize; i++ ) ht[i] = ht2.ht[i];//从源散列表向目标散列表传送

CurrentSize = ht2.CurrentSize;//传送当前表项个数}

return *this;//返回目标散列表结构指针}

template int HashTable :: Find ( const Type& x ) {

//共有函数:找下一散列位置的函数

int i = 0, q = ( TableSize -1 ) / 2, h0; // i为探查次数

int CurrentPos = h0 = HashPos ( x ); //利用散列函数计算x的散列地址

while ( ht[CurrentPos].info != Empty && ht[CurrentPos].Element != x ) {

/搜索是否要求表项

if ( i <= q ) {//求“下一个”桶

CurrentPos = h0 + (q - i ) * ( q - i );

while ( CurrentPos >= TableSize ) CurrentPos -= TableSize; //实现取模

}

else {

CurrentPos = h0 - ( i -q ) * ( i - q );

while ( CurrentPos < 0 ) CurrentPos += TableSize; //实现取模

}

i++;

}

if ( ht[CurrentPos].info == Active && ht[CurrentPos].Element == x )

return CurrentPos;//返回桶号

else {

ht[CurrentPos].info = Active; ht[CurrentPos].Element = x;//插入x

if ( ++CurrentSize < TableSize / 2 ) return CurrentPos;

//当前已有项数加1, 不超过表长的一半返回HashEntry *Oldht = ht; //分裂空间处理:保存原来的散列表

int OldTableSize = TableSize;

CurrentSize = 0;

TableSize = NextPrime ( 2 * OldTableSize ); //原表大小的2倍,取质数

Allocateht ( ); //建立新的二倍大小的空表

for ( i = 0; i < OldTableSize; i++) //原来的元素重新散列到新表中

if ( Oldht[i].info == Active ) {

Find ( Oldht[i].Element );//递归调用

if ( Oldht[i].Element == x ) CurrentPos = i;

}

delete [ ] Oldht;

return CurrentPos;

}

}

求下一个大于参数表中所给正整数N的质数的算法。

int NextPrime ( int N ) { //求下一个>N的质数,设N >= 5

if ( N % 2 == 0 ) N++; //偶数不是质数

for ( ; !IsPrime (N); N += 2 ); //寻找质数

return N;

}

int IsPrime ( int N ) {//测试N是否质数

for ( int i = 3; i*i <= N; i += 2 ) //若N能分解为两个整数的乘积, 其中一个一定 N if ( N % i == 0 ) return 0;//N能整除i, N不是质数

return 1;//N是质数

}

10-16 编写一个算法,以字典顺序输出散列表中的所有标识符。设散列函数为hash(x) = x 中的第一个字符,采用线性探查法来解决冲突。试估计该算法所需的时间。

【解答】

用线性探查法处理溢出时散列表的类的声明。

#define DefaultSize 1000

#include

#include

#include

class HashTable { //散列表类定义

public:

enum KindOfEntry { Active, Empty, Deleted }; //表项分类(活动/ 空/ 删)

HashTable ( ) : TableSize ( DefaultSize ) { ht = new HashEntry[TableSize];} //构造函数

~HashTable ( ) { delete [ ] ht;} //析构函数

int Find-Ins ( const char * id ); //在散列表中搜索标识符id

void HashSort ( );

private:

struct HashEntry {//表项定义

Type Element; //表项的数据, 即表项的关键码

KindOfEntry info; //三种状态: Active, Empty, Deleted

HashEntry ( ) : info (Empty ) { } //表项构造函数, 置空

};

HashEntry *ht; //散列表存储数组

int TableSize; //最大桶数

int FindPos ( string s) const { return atoi (*s) - 32; } //散列函数

}

int HashTable :: Find-Ins ( const char * id ) {

int i = FindPos ( id ),j = i;//i是计算出来的散列地址

while ( ht[j].info != Empty && strcmp ( ht[j].Element, id ) != 0 ) { //冲突

j = ( j + 1 ) % TableSize; //当做循环表处理, 找下一个空桶

if ( j == i ) return-TableSize; //转一圈回到开始点, 表已满, 失败}

if ( ht[j].info != Active ) { //插入

if ( j > i ) {

while ( int k = j; k > i; k-- )

{ ht[k].Element = ht[k-1].Element; ht[k].info = ht[k-1].info; }

ht[i].Element = id;ht[i].info = Active;//插入

} else {

HashEntry temp;

temp.Element = ht[TableSize-1].Element;https://www.wendangku.net/doc/1b14257317.html, = ht[TableSize-1].info;

while ( int k = TableSize-1; k > i; k-- )

{ ht[k].Element = ht[k-1].Element; ht[k].info = ht[k-1].info; }

ht[i].Element = id;ht[i].info = Active;//插入

while ( int k = j; k > 0; k-- )

{ ht[k].Element = ht[k-1].Element; ht[k].info = ht[k-1].info; }

ht[0].Element = temp.Element;ht[0].info = https://www.wendangku.net/doc/1b14257317.html,;

}

return j;

}

void HashTable :: HashSort ( ) {

int n, i; char * str;

cin >> n >> str;

for ( i = 0; i < n; i++ ) {

if ( Find-Ins ( str ) == - Tablesize ) { cout << "表已满" << endl; break; }

cin >> str;

}

for ( i = 0; i < TableSize; i++ )

if ( ht[i].info == Active ) cout << ht[i].Element << endl;

}

10-17 设有1000个值在1到10000的整数,试设计一个利用散列方法的算法,以最少的数据比较次数和移动次数对它们进行排序。

【解答1】

建立TableSize = 10000的散列表,散列函数定义为

int HashTable :: FindPos ( const int x ) { return x-1; }

相应排序算法基于散列表类

#define DefaultSize 10000

#define n 1000

class HashTable {//散列表类的定义

public:

enum KindOfEntry { Active, Empty, Deleted }; //表项分类(活动/ 空/ 删)

HashTable ( ) : TableSize ( DefaultSize ) { ht = new HashEntry[TableSize ];} //构造函数

~HashTable ( ) { delete [ ] ht;} //析构函数

void HashSort ( int A[ ], int n ); //散列法排序

private:

struct HashEntry { //散列表的表项定义

int Element; //表项的数据, 整数

KindOfEntry info; //三种状态: Active, Empty, Deleted

HashEntry ( ) : info (Empty ) { }//表项构造函数

};

HashEntry *ht;//散列表存储数组

int TableSize; //数组长度

int FindPos ( int x ); //散列函数

};

void HashTable :: HashSort ( int A[ ], int n ) { //散列法排序

for ( int i = 0; i < n; i++ ) {

int position = FindPos( A[i] );

ht[position].info = Active; ht[position].Element = A[i];

}

int pos = 0;

for ( int i = 0; i < TableSize; i++ )

if ( ht[i].info == Active )

{cout << ht[i].Element << endl; A[pos] = ht[i].Element; pos++; } }

【解答2】

利用开散列的方法进行排序。其散列表类及散列表链结点类的定义如下:#define DefaultSize 3334

#define n 1000

class HashTable;//散列表类的前视声明

class ListNode { //各桶中同义词子表的链结点(表项)定义friend class HashTable;

private:

int key; //整数数据

ListNode *link; //链指针

public:

ListNode ( int x ) : key(x), link(NULL) { } //构造函数

};

typedef ListNode *ListPtr; //链表指针

class HashTable { //散列表(表头指针向量)定义

public:

HashTable( int size = DefaultSize ) //散列表的构造函数

{ TableSize = size; ht = new ListPtr[size]; } //确定容量及创建指针数组void HashSort ( int A[ ]; int n )

private:

int TableSize; //容量(桶的个数)

ListPtr*ht; //散列表定义

int FindPos ( int x ) { return x / 3; }

}

void HashTable :: HashSort ( int A[ ]; int n ) {

ListPtr * p , *q; int i, bucket, k = 0;

for ( i = 0; i < n; i++ ) { //对所有数据散列, 同义词子表是有序链表

bucket = FindPos ( A[i] ); //通过一个散列函数计算桶号

p = ht[bucket];q = new ListNode(A[i]);

if ( p == NULL || p->key > A[i] ) //空同义词子表或*q的数据最小

{ q->link = ht[bucked];ht[bucked] = q; }

else if ( p->link == NULL || p->link->key > A[i] )

{ q->link = p->link;p->link = q; }

else p->link->link = q;//同义词子表最多3个结点

}

for ( i = 0; i < TableSize; i++ ) { //按有序次序输出

p = ht[i];

while ( p != NULL ) {

cout << p->key << endl; A[k] = p->key; k++;

p = p->link;

}

}

}

10-18 设有15000个记录需放在散列文件中,文件中每个桶内各页块采用链接方式连结,每个页块可存放30个记录。若采用按桶散列,且要求搜索到一个已有记录的平均读盘时间不超过1.5次,则该文件应设置多少个桶? 【解答】 已知用链地址法(开散列)解决冲突,搜索成功的平均搜索长度为1+α/2≤1.5,解出α≤1,又α= n / m = 15000 / 30 / m = 500 / m ≤1,m ≥500。由此可知,该文件至少应设置500个桶。

10-19 用可扩充散列法组织文件时,若目录深度为d ,指向某个页块的指针有n 个,则该页块的局部深度有多大? 【解答】 设页块的局部深度为d',根据题意有n = 2 d -d',因此,d' = d - log 2 n 。

10-20 设一组对象的关键码为 { 69, 115, 110, 255, 185, 143, 208, 96, 63, 175, 160, 99, 171, 137, 149, 229, 167, 121, 204, 52, 127, 57, 1040 }。要求用散列函数将这些对象的关键码转换成二进制地址,存入用可扩充散列法组织的文件里。定义散列函数为hash(key) = key % 64, 二进制地址取6位。设每个页块可容纳4个对象。要求按10 .4节介绍的方法设置目录表的初始状态,使目录表的深度为3。然后按题中所给的顺序,将各个对象插入的可扩充散列文件中。试画出每次页块分裂或目录扩充时的状态和文件的最后状态。 【解答】

hash(69) = 5(10) = 000101(2) hash(115) = 51(10) = 110011(2) hash(110) = 46(10) = 101110(2) hash(255) = 63(10) = 111111(2) hash(185) = 57(10) = 111001(2) hash(143) = 15(10) = 001111(2) hash(208) = 16(10) = 010000(2) hash(96) = 32(10) = 100000(2) hash(63) = 63(10) = 111111(2) hash(175) = 47(10) = 101111(2) hash(160) = 32(10) = 100000(2) hash(99) = 35(10) = 100011(2) hash(171) = 43(10) = 101011(2) hash(137) = 9(10) = 001001(2) hash(149) = 21(10) = 010101(2) hash(229) = 37(10) = 100101(2) hash(167) = 39(10) = 101001(2) hash(121) = 57(10) = 111001(2) hash(204) = 12(10) = 001100(2) hash(52) = 52(10) = 110100(2) 根据题意,每个页块可容纳4个对象,为画图清晰起见仅给出前20个关键码插入后的结果。目录表的深度d = 3。

0 1 DicDepth = 1 0 1 DicDepth = 1 PgDepth = 1初态, 插入69, 115, 110, 255 插入

185, 页块分裂 00 01 10

DicDepth = 2 000 001 010 DicDepth = 3

插入143, 目录分裂, 插入208, 96, 63

插入175, 目录分裂

000 001

010

011 100

101

110 111

PgDepth = 2

插入160, 页块分裂, 插入99, 171, 137, 149

000

001 010 011 100

101

110

111 DicDepth = 3

PgDepth = 2插入229, 页块分裂, 插入167, 121, 204 000

001 010

011

100 101 110

111

DicDepth = 3

PgDepth = 3

插入52, 页块分裂

最新信息检索与分析利用复习题

信息检索与分析利用 复习题

一、填空。各1分(22分) 二、单选。各2分(20分) 三、多选。各3分(18分) 四、判断。各1分(10分) 五、简答。各10分(30分) 1. 按物质载体和记录形式划分,信息可分为印刷型、缩微型、声像型、机读型和手写型。 2. 文献是指“记录有知识的一切载体”,情报是“作为交流对象的有用知识” 3. 内容、符号系统、物质载体、记录方式是构成文献的四个基本要素。 4. 按出版形式和内容的不同,信息可分为图书、期刊、报纸和特种信息。特种信息也叫做灰色信息,包括:专利信息、学位论文、标准信息、 会议信息、科技报告、政府出版物、产品样本资料和档案。 5. ISBN号是国际标准书号,由13位数字组成,分成五段:图书代号;国家、区域、语种代号;出版社代号;书名代号;计算机校验码。 ISSN号是国际标准出版物号,由8位数字组成,分两段:序号、校验码。 6. 图书按用途可分为3种类型:阅读用书,参考工具书,检索用书 7. 按检索方法划分,检索工具可分为手工检索工具、计算机和网络检索工具。 8. 知识产权范围主要包括专利权、著作权和商标权 9. 知识产权具有两大功能:保持功能和公开功能 10. 广义的检索包括信息的存储和检索两个过程。 11. 检索方法分为常规法、引文法(追溯法和检索引文法)和交替法三种 12. 检索途径可以分为主题途径、分类途径、责任者/著者途径、号码及其它途径 13. 手工检索工具中的著录项目在数据库中称为字段,字段的集合称为记录。 14. 文献数据库内英文段码Abstract对应的中文段码名称是文摘。Keyword对应的中文段码名称是关键词。 15. 按国际上通用的分类法,数据库分为参考数据库、源数据库和混合型数据库。 16. 中国现行主要的图书分类方法是《中国图书馆分类法》,它属于体系分类语言。 17. 《中图法》第四版将图书分为5部,22大类,L.M.W.Y没有,计算机属于TP类, 属于二级类目。 18. 索书号主要由分类号和著者号组成。 19. 在因特网中,政府机构和商业组织的二级域名分别是GOV、COM。域名.hk所指的国家或地区是香港;.org的含义是非营利组织. 20. 公告号为8510961的专利是发明专利,专利号为200420011414.6的专利是实用新型专利;申请号为99322746.5的专利是外观设计专利。 21. 在标准号GB/T 19557.8-2004中,其中GB/T是推荐标准代号,2004是颁布年代。 22. IPC是国际专利分类号,其作用是提供从分类途径查找专利。 23. 根据搜索引擎的数据检索机制可将搜索引擎划分为主题型搜索引擎和分类型搜索引擎两种 24.学位论文的开题一般包括选题、资料搜集、撰写开题报告、文献综述四部分内容。 25.词典是汇集词语,解释概念、词义和用法,并按一定的方法编排,供查检的参考工具。 26.会议文献是指通过召开学术会议而产生的文献,包括会前文献、会中文献和会后文献等三种。 27.按照多数国家的学位制度,学位论文包括学士学位论文、硕士学位论文和博士学位论文三种类型。 28.年鉴可以检索历年的统计数据,它汇集了一年内的社会科学和自然科学等领域的重大事件,重要时事文献、科学技术的新进展和统计数 据,并附有大量图表和插图。 29.《四库全书》是中国历史上最大的一部官修百科全书,它分为经、史、子、集四部。 30.全文数据库属于源数据库,是将全文以机读版的形式存储起来,并可与相应的软件配合提供文中检索和全文输出的数据库。 31.超星数字图书馆收录的文献类型是电子图书 32.计算机检索统中对词组进行检索采用的符号是“” 33.搜索含有“data bank”的PDF文件,正确的检索式为:“data bank”+filetype: pdf。 34.如果需要检索某位作者的文摘被引用的情况,应该检索:引文索引。 35.授予专利的时候给出的编号是专利号。 36.“GB/T2007-2006摩托车和轻便摩托车发动机最大钮跨区各最大镜功率测量方法”表示的文献类型是:中国国家推荐性标准。 37.用google或者百度进行检索的时候,输入“intitle: 清华大学”,检索结果是:网页标题含有“清华大学”。 38.用google或者百度进行检索的时候,想检索中文教育科研网上举办的演讲会,应该输入:演讲会Site: edu. cn。

索引与散列

索引与散列 10-1 什么是静态索引结构?什么是动态索引结构?它们各有哪些优缺点? 【解答】 静态索引结构指这种索引结构在初始创建,数据装入时就已经定型,而且在整个系统运行期间,树的结构不发生变化,只是数据在更新。动态索引结构是指在整个系统运行期间,树的结构随数据的增删及时调整,以保持最佳的搜索效率。静态索引结构的优点是结构定型,建立方法简单,存取方便;缺点是不利于更新,插入或删除时效率低。动态索引结构的优点是在插入或删除时能够自动调整索引树结构,以保持最佳的搜索效率;缺点是实现算法复杂。 10-2 设有10000个记录对象, 通过分块划分为若干子表并建立索引, 那么为了提高搜索效率, 每一个子表的大小应设计为多大? 【解答】 每个子表的大小s = ?n? = ?10000? = 100 个记录对象。 10-3如果一个磁盘页块大小为1024 (=1K) 字节,存储的每个记录对象需要占用16字节,其中关键码占4字节,其它数据占12字节。所有记录均已按关键码有序地存储在磁盘文件中,每个页块的第1个记录用于存放线性索引。另外在内存中开辟了256K字节的空间可用于存放线性索引。试问: (1) 若将线性索引常驻内存,文件中最多可以存放多少个记录?(每个索引项8字节,其中关键码4字节,地址4字节) (2) 如果使用二级索引,第二级索引占用1024字节(有128个索引项),这时文件中最多可以存放多少个记录? 【解答】 (1) 因为一个磁盘页块大小为1024字节,每个记录对象需要占用16字节,则每个页块可存放1024 / 16 = 64个记录,除第一个记录存储线性索引外,每个页块可存储63个记录对象。又因为在磁盘文件中所有记录对象按关键码有序存储,所以线性索引可以是稀疏索引,每一个索引项存放一个页块的最大关键码及该页块的地址。若线性索引常驻内存,那么它最多可存放256 * (1024 / 8 ) = 256 * 128 = 32768个索引项,文件中可存放32768 * 63 = 2064384个记录对象。 (2) 由于第二级索引占用1024个字节,内存中还剩255K 字节用于第一级索引。第一级索引有255 * 128 = 32640个索引项,作为稀疏索引,每个索引项索引一个页块,则索引文件中可存放32640 * 63 = 2056320。 10-4 假设在数据库文件中的每一个记录是由占2个字节Array的整型数关键码和一个变长的数据字段组成。数据字段都 是字符串。为了存放右面的那些记录,应如何组织线性索 引? 【解答】 将所有字符串依加入的先后次序存放于一个连续的 存储空间store中,这个空间也叫做“堆”,它是存放所有 字符串的顺序文件。它有一个指针free,指示在堆store中当前可存放数据的开始地址。初始时free置为0,表示可从文件的0号位置开始存放。线性索引中每个索引项给出记录关键码,字符串在store中的起始地址和字符串的长度: 索引表ID 堆store 1

信息检索与分析利用复习题1

1. 按物质载体和记录形式划分,信息可分为印刷型、缩微型、声像型、机读型和手写型。 2. 文献是指“记录有知识的一切载体”,情报是“作为交流对象的有用知识” 3. 内容、符号系统、物质载体、记录方式是构成文献的四个基本要素。 4. 按出版形式和内容的不同,信息可分为图书、期刊、报纸和特种信息。 特种信息也叫做灰色信息,包括:专利信息、学位论文、标准信息、会议信息、科技报告、政府出版物、产品样本资料和档案。 5. ISBN是国际标准书号,由13位数字组成,分成四段:组号(国家、区域、语言的代号); 出版者号;书序号;检验码。 ISSN号是国际标准出版物号,由8位数字组成,分两段:分序号、校验码。 6. 图书按用途可分为3种类型:阅读用书,参考工具书,检索用书 7. 按检索方法划分,检索工具可分为手工检索工具、计算机和网络检索工具。 8. 知识产权范围主要包括专利权、著作权和商标权 9. 知识产权具有两大功能:保持功能和公开功能 10. 广义的检索包括信息的存储和检索两个过程。 11. 检索方法分为常规法、引文法(追溯法和检索引文法)和交替法三种 12. 检索途径可以分为主题途径、分类途径、责任者/著者途径、号码及其它途径 13. 手工检索工具中的著录项目在数据库中称为字段,字段的集合称为记录。 14. 文献数据库内英文段码Abstract对应的中文段码名称是文摘。Keyword对应的中文段码名称是关键词。 15. 按国际上通用的分类法,数据库分为参考数据库、源数据库和混合型数据库。 16. 中国现行主要的图书分类方法是《中国图书馆分类法》,它属于体系分类语言。 17. 《中图法》第四版将图书分为5部,22大类,L.M.W.Y没有,计算机属于TP类, 属于二级类目。

哈希算法散列

计算机算法领域 基本知识 Hash,一般翻译做“散列”,也有直接音译为”哈希“的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系 基本概念 * 若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。 * 对不同的关键字可能得到同一散列地址,即key1≠key2,而f(key1)=f(key2),这种现象称冲突。具有相同函数值的关键字对该散列函数来说称做同义词。综上所述,根据散列函数H(key)和处理冲突的方法将一组关键字映象到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“象” 作为记录在表中的存储位置,这种表便称为散列表,这一映象过程称为散列造表或散列,所得的存储位置称散列地址。 * 若对于关键字集合中的任一个关键字,经散列函数映象到地址集合中任何一个地址的概率是相等的,则称此类散列函数为均匀散列函数(Uniform Hash function),这就是使关键字经过散列函数得到一个“随机的地址”,从而减少冲突。 常用的构造散列函数的方法 散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位ǐ 1. 直接寻址法:取关键字或关键字的某个线性函数值为散列地址。即H(key)=key或H(key) = a?key + b,其中a和b为常数(这种散列函数叫做自身函数) 2. 数字分析法 3. 平方取中法 4. 折叠法 5. 随机数法 6. 除留余数法:取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址。即H(key) = key MOD p, p<=m。不仅可以对关键字直接取模,也可在折叠、平方取中等运算之后取模。对p的选择很重要,一般取素数或m,若p选的不好,容易产生同义词。 处理冲突的方法 1. 开放寻址法;Hi=(H(key) + di) MOD m, i=1,2,…, k(k<=m-1),其中H(key)为散列函数,m为散列表长,di为增量序列,可有下列三种取法: 1. di=1,2,3,…, m-1,称线性探测再散列; 2. di=1^2, (-1)^2, 2^2,(-2)^2, (3)^2, …, ±(k)^2,(k<=m/2)称二次探测再散列;

(完整版)信息管理学基础马费成习题重点

信息管理学基础(马费成)习题重点(精品课程) 可以有很多方式的,没有固定答案,但实际工作中,要考虑实际来选择。归结起来,主要有以下几种途径:一是使用信息管理系统,如OA系统、档案管理系统、人事管理系统、ERP 系统等;二是利用网络平台,如局域网、门户网站、VPN网络;三是使用沟通交流平台,如BBS、电子邮件、新闻组等方式、企业qq、飞信、rss订阅等;四是将其编纂成内部刊物、出版物;五是其他方式,如利用宣传栏、宣传板宣传,甚至有的更强的在公司厕所也宣传。 第一章信息与信息管理 一、教学目的 掌握信息、信息管理等基本概念,了解信息的特征及分类,关注信息化对社会经济发展的重要作用,明确信息管理的内容及任务,掌握信息管理的沿革及发展。 二、教学内容 1.信息、信息管理等基本概念 2.信息特征、性质、分类 3.信息化的内容特征及重要作用 4.信息管理的对象、内容、目标和任务 5.信息管理的沿革与发展 三、本章重点 1.信息、信息管理等基本概念 2.信息化的层次、阶段(三个层次,四个阶段) 3.信息管理的内容任务 4.信息管理的发展历程 【重要概念】 信息知识负熵语法信息语用信息语义信息信息流社会信息化 信息社会GII “三金”工程信息管理文件管理信息资源管理知识管理【简答】 1、如何理解通讯领域信息的含义?

2、简述数据、信息、知识之间的关系。 数据+背景=信息 数据是载荷或记录物理信息的物质符号。 信息+经验=知识 信息能够转化为知识的关键取决于信息接受者对信息的理解能力 3、简述信息的特征和分类。 普遍性和客观性、广延性和无限性、共享性、时效性、不可变换性和不可组合性 对物质载体的独立性、对认识主体的相对性、传递性 分类:按性质划分:语法信息、语义信息、语用信息 4、试分述信息管理四个典型阶段。 传统管理阶段:这一阶段以信息源的管理为核心,以图书馆为象征。以文献为主要载体,以公益性服务为主要目标 技术管理阶段:这一阶段以信息流的控制为核心,以计算机为工具,以自动化信息处理和信息系统建造为主要工作内容。技术因素占主导因素 资源管理阶段 知识管理阶段 【本章知识点】 1、信息、信息管理等基本概念。 信息是事物的存在方式和运动状态的表现形式。本体论、认识论 2、信息特征、性质、分类。 3、信息化的内容特征及重要作用。 4、信息管理的对象、内容、目标和任务。 对象:广义:对涉及信息活动的各种要素进行合理的管理和控制 内容:实质就是综合采用技术的、经济的、政策的、法律的、人文的方法和手段进行控制目标:生产和开发、利用、管理机制 任务宏观: 微观 5、信息管理的沿革与发展。 传统管理阶段、技术管理阶段、资源管理阶段、知识管理阶段 第二章信息交流思考习题 一、教学目的 掌握信息交流的条件和要素、掌握信息交流传播过程的栈交流,了解信息的社会代理交

单向散列函数算法Hash算法

单向散列函数算法(Hash算法): 一种将任意长度的消息压缩到某一固定长度(消息摘要)的函数(过程不可逆),常见的单向散列算法有MD5,SHA.RIPE-MD,HAVAL,N-Hash 由于Hash函数的为不可逆算法,所以软件智能使用Hash函数作为一个加密的中间步骤 MD5算法: 即为消息摘要算法(Message Digest Algorithm),对输入的任意长度的消息进行预算,产生一个128位的消息摘要 简易过程: 1、数据填充..即填出消息使得其长度与448(mod 512)同余,也就是说长度比512要小64位(为什么数据长度本身已经满足却仍然需要填充?直接填充一个整数倍) 填充方法是附一个1在后面,然后用0来填充.. 2、添加长度..在上述结果之后附加64位的消息长度,使得最终消息的长度正好是512的倍数.. 3、初始化变量..用到4个变量来计算消息长度(即4轮运算),设4个变量分别为A,B,C,D(全部为32位寄存器)A=1234567H,B=89abcdefH,C=fedcba98H,D=7654321H 4、数据处理..首先进行分组,以512位为一个单位,以单位来处理消息.. 首先定义4个辅助函数,以3个32为双字作为输入,输出一个32为双字 F(X,Y,Z)=(X&Y)|((~X)&Z) G(X,Y,Z)=(X&Z)|(Y&(~Z)) H(X,Y,Z)=X^Y^Z I(X,Y,Z)=Y^(X|(~Z)) 其中,^是异或操作 这4轮变换是对进入主循环的512为消息分组的16个32位字分别进行如下操作: (重点)将A,B,C,D的副本a,b,c,d中的3个经F,G,H,I运算后的结果与第四个相加,再加上32位字和一个32位字的加法常数(所用的加法常数由这样一张表T[i]定义,期中i为1至64之中的值,T[i]等于4294967296乘以abs(sin(i))所得结果的整数部分)(什么是加法常数),并将所得之值循环左移若干位(若干位是随机的??),最后将所得结果加上a,b,c,d之一(这个之一也是随机的?)(一轮运算中这个之一是有规律的递增的..如下运算式),并回送至A,B,C,D,由此完成一次循环。(这个循环式对4个变量值进行计算还是对数据进行变换??) For i=0 to N/16 do For j=0 to 15 do Set X[i] to M[i*16+j] End AA = A BB=B CC=C DD=D //第一轮,令[ABCD K S I]表示下面的操作: //A=B+((A+F(B,C,D)+X[K]+T[I])<<

专利信息检索与分析的作用和意义

问题:1.纯文字,表格及图比较难做,之后再补 2.查找的资料没有明确提到在管理学角度、经济学角度下的促进作用,仅凭个人理解(1)专利信息对实施创新驱动发展战略的推动作用管理学角度 《专利信息利用实践》主编甘绍宁 P1 第一节技术创新决策中需要解决的主要问题 斯坦福大学的罗伯特.A.伯格曼教授在《技术与创新的战略管理》一书中指出,企业技术创新是针对市场进行的技术开发活动,“技术创新成功与否的终极标准是在商业方面而并非单纯是技术方面。”所以,在技术创新决策过程中,技术创新主体关注的因素既包括产品技术的发展状况,也包括市场需求和行业竞争者的动态。 因此,技术创新决策至少需要关注以下几个问题: (1)行业技术的现状 (2)目标市场的需求 (3)竞争者的动态 在明了上述问题的基础上提出的技术创新决策建议,将会使技术创新决策更具客观性和针对性。技术创新决策需要参考各类信息源,但无论是从技术角度、经济角度,专利信息都是其中非常重要的一种。 第二节技术创新决策中适用的专利信息运用策略 统计分析是分析工作的主要形式之一。通过对技术信息的分类统计分析,可以发现技术的演变规律和分类构成。专利信息是一种高度标准化的技术法律信息。无论是专利信息整体的类别划分,还是每件专利的文体结构及句法结构,都有相对可循规律,这无疑是专利信息利用统计规律来进行分析应用的天然优势。题目和摘要可以作为技术性分析的统计特征;授权公告号、国际申请、申请人地址中的国别代码和地址信息可以作为地域性分析的统计特征;申请人可以作为同行业申请人或竞争者分析的统计特征;申请日、公开日和优先权日可以作为期限类分析的统计特征,等等。 通常认为,一篇专利文献所描述的现象具有其偶然性,但当对由若干篇专利文献汇聚而成的一类专利文献信息进行统计分析时,就可以得到带有一定普遍性的结论,从而归纳出某个产品技术领域的规律性。例如,我们可以通过统计某一国家或地区在某个特定范围、某类产品或技术专利申请的集中度,了解其技术创新热点,进而了解该国家或地区在这一时间范围(或今后一段时间)的市场需求;如果在上述统计分析过程中加入申请人信息,我们不但可以了解上述信息,还可以获悉申请人在这些开发热点方面各自的技术特长和保护策略。 技术创新决策中的专利信息运用策略主要有:通过技术性分析,了解技术发展动态;通过地域性分析,了解市场需求;通过申请人分析,了解竞争者。综合上述分析,对比技术创新主体自身的能力特点,进而对其技术创新决策提出参考性建议。 《专利信息与利用》李建蓉 6.5.5技术创新中的专利信息检索 6.5.5.1技术创新中的专利信息利用 所谓技术创新,是指企业或组织应用创新的知识和新技术、新工艺,采用新的生产方式和经营管理模式,提高产品质量,开发生产新的产品,提供新的服务,占据市场并实现市场价值。技术创新不能低起点起步,不能重复他人已经完成的创造活动,技术创新要寻求知识产权保护,要使企业的创新产生巨大的价值,因此在技术创新过程中随时利用专利信息,也就是要在创新的过程中分不同阶段进行不同种类的专利信息检索。 技术创新中的专利信息检索应包括:

计算机网络基础知识习题及答案

第八章计算机网络基础知识 一、填空题 1. 在计算机网络中,通常把提供并管理共享资源的计算机称为______。 2. 计算机网络按通信距离来划分,可分为局域网和广域网。因特网属于______。 3. 为了实现网络互联,需要配置相关的网络连接器,主要包括中继器、网桥、______和网关组成。 4. 在因特网中,电子公告板的英文缩写是______。 5. 典型的电子邮件地址一般由______和主机域名组成。 6. 局域网是一种在小区域内使用的网络,其英文缩写为______。 7. Internet用______协议实现各网络之问的互联。 8. 在传输数字信号时,为了便于传输、减少干扰和易于放大,在发送端将要发送的数字信号变换成为模拟信号,这种变换称为______。 9. 提供网络通讯和网络资源共享功能的操作系统称为…。 10. 计算机网络按地理范围和计算机互联距离的远近,大体上分为局域网和~。 二、单项选择题 1. 网络互联实现在更大的范围内传输数据和共享资源,要解决两个问题:一是网络之间要有通信链路,二是提供()。 A. 协议转换功能 B. 数据库管理功能 C. 安全保密功能 D. 信息传输功能 2. OSI(开放系统互联)参考模型的第四层是()。 A. 传输层 B. 网络层 C. 物理层 D. 应用层 3. 因特网l0BASET代表的含义是()。 A. 10Mb/s基带传输的粗缆因特网 B. 10Kb/s宽带传输的双绞线因特网 C. 10Mb/s基带传输的细缆因特网 D. 10Mb/s基带传输的双绞线因特网 4. 互联网上的服务都是基于一一种协议,则WWW服务基于()。 A. HTML协议 B. TELNE'1、协议 C. HTTP协议 D. SMIP协议 5. 计算机网络的目标是实现()。 A. 数据处理 B. 文献检索 C. 资源共享和信息传输 D. 信息传输 6. 在下列任务中,哪些是网络操作系统的基本任务?()。 ①屏蔽本地资源与网络资源之间的差异;②为用户提供基本的网络服务功能; ③管理网络系统的共享资源;④提供网络系统的安全服务。 A. ①② B. ①③ C. ①②③ D. ①②③④ 7. ()是网络的心脏,它提供了网络最基本的核心功能,如网络文件系统、存储器的管理和调度等。 A. 服务器 B. 工作站 C. 服务器操作系统 D. 通信协议 8. 下面是某单位的主页的Web地址URL,其中符合URL格式的是()。 A. http//jnu. edu. cn B. http. www. jFlU. edu. en C. http://www. jnu. edu. cn D. http:/www. jnu. edu. CFI 9. 在计算机网络系统中,WAN指的是()。 A. 城域网 B. 局域网 C. 广域网 D. 万维网 10. 通过Internet发送或接收电子邮件(E-mail)的首要条件是应该有一个电子邮件(E-mail)地址,它的正确形式是()。

信息检索方法与程序分析案例

110240232 张嘉自控1108 文献检索方法是为了达到既定目的所采取的手段。检索途径是按照文献存贮与检索基本原理,并依检索工具的编排方法来查找有关的具体文献信息。两者都是为实现检索服务的,这是它们的相同点。但从检索步骤看,两者又是有区别的。多数是在选定检索工具书刊或数据库的前提下,先定检索途径,后定检索方法。 一、文献检索方法 文献检索方法有多种,主要有: (一)时序检索法。时序检索法是按时间先后次序由近及远或由远及近地查找文献信息的方法。分顺时法、逆时法和分段法三种。 1·顺时序法。这是以课题研究所涉时间为检索起点,由远及近地检索所需文献的方法。适用于需要系统掌握有关文献的研究课题。优点:查全率高并可系统掌握现有的研究成果,便于分析、比较和筛选文献。缺点:所需的检索工具书刊或数据库较全、时间较多,否则反而影响文献检索质量。 例如,查汕头经济特区的发展史料,即可采用顺时法。所涉工具书刊除《全国报刊索引·社会科学》分册及其数据库和中国人民大学书报资料中心编的复印资料有关经济类各分册和索引外,《经济年鉴》、《汕头经济特区年鉴》及有关经济专题索引等检索工具,也是不可或缺的。 2·逆时序法。这是以课题研究所涉时间为检索起点,由近及远地检索所需文献的方法,又称倒查法。适用于新课题或老而有新进展的课题研究所采用。如“汕头与深圳经济特区利用外资结构的分析研究”,即可采用此法。优点:可迅速掌握本课题的研究动态、新观点、新数据等文献信息,缩短查资料的时间。缺点:漏检率高,以至影响对现有文献的有效利用。 3·分段法。是顺时法与逆时法交替使用的检索方法,又称循环法、交替法。采用此法查找文献大致有两种情况:一是已知在某一时期内有关本课题文献的集中与分散情况;二是已知某一专题学术会议中必议题与时间。凡与本课题有关的文献集中期,则列为重点检索的时间范围,其它时间内的文献可作为补充性检索。优点:目标明确,可迅速掌握切题文献信息和节省检索时间。但对本课题的研究动态及其脉络必须有清晰的了解。 (二)跟踪检索法。利用所见图书或论文的后附引文索引、脚注、参考文献等所提供的文献线索,循踪觅迹地扩大检索范围的检索方法,又称追溯法、扩展法。这种由此及彼地扩大检索范围的检索方法,往往可以查到意想不到的切题文献。在检索工具不完备的条件下,广泛地利用文献综述或述评、研究报告等文献后所附的参考文献,不失为扩大检索范围的好方法。但扩展法所索文献往往不系统、漏检率也高。 (三)综合检索法。是指上述检索法的综合利用。例如,对某一时期的文献集散情况较为了解,即先利用逆时法或分段法以越过文献稀少时期。而发现某书或

数据结构 (c++)第9章 索引技术

第9章索引技术 课后习题讲解 1.填空题 ⑴在索引表中,每个索引项至少包含()和()等信息 【解答】关键码,关键码对应的记录在存储器中的位置 ⑵在线性索引中,()称为稠密索引 【解答】若文件中的每个记录对应一个索引项 ⑶分块有序是指将文件划分为若干块,()无序,()有序。 【解答】块内,块间 ⑷在分块查找方法中,首先查找(),然后查找相应的()。 【解答】索引表,块 ⑸在10阶B—树中根结点所包含的关键码个数最多为(),最少为()。 【解答】9,1 【分析】m阶的B-树中每个结点至多有m棵子树,若根结点不是终端结点,则至少有两棵子树,每个结点中关键码的个数为子树的个数减1。 ⑹一棵5阶B—树中,除根结点外,每个结点的子树树目最少为(),最多为()。 【解答】3,5 【分析】m阶的B-树中每个结点至多有m棵子树,除根结点之外的所有非终端结点至少有?m/2?棵子树。 ⑺对于包含n个关键码的m阶B—树,其最小高度是(),最大高度是()。 【解答】[logm(n+1)],[logm/2(n+1)/2] ⑻在一棵B—树中删除关键码,若最终引起树根结点的合并,则新树比原树的高度()。 【解答】减少1层 ⑼在一棵高度为h的B—树中,叶子结点处于第()层,当向该B—树中插入一个新关键码时,为查找插入位置需读取()个结点。 【解答】h+1,h 【分析】B-树的叶子结点可以看作是外部结点(即查找失败)的结点,通常称为外结点。实际上这些结点不存在,指向这些结点的指针为空,B-树将记录插入在终端结点中。 ⑽对于长度为n的线性表,若采用分块查找(假定总块数和每块长度均接近,用顺序查找确定所在块),则时间复杂性为()。 【解答】O() 2.判断题 ⑴在索引顺序表上采用分块查找,在等概率情况下,其平均查找长度不仅与子表个数有关,而且与每一个子表中的对象个数有关。

信息检索与分析系统需求分析

专利信息检索与分析系统和英文论文信息检索与分析系统 需求分析文档 大连灵动科技发展有限公司 2011年11月

目录 1任务概述 (2) 2需求规定 (2) 2.1专利信息检索与分析系统 (2) 2.1.1数据导入 (2) 2.1.2建立数据索引 (2) 2.1.3快速搜索 (3) 2.1.4高级搜索 (3) 2.1.5保存检索结果 (4) 2.1.6统计并生成报表 (4) 2.1.7组织曾用名管理 (4) 2.1.8组织曾用名替换 (5) 2.1.9新组织识别与保存 (5) 2.1.10组织地址维护 (5) 2.1.11地域划归 (6) 2.1.12矩阵分析 (6) 1.2论文信息检索与分析系统 (6) 2.2.1数据导入 (6) 2.2.2建立索引 (7) 2.2.3快速搜索 (7) 2.2.4高级搜索 (7) 2.2.5保存检索结果 (8) 2.2.6统计并生成报表 (8) 2.2.7组织曾用名管理 (9) 2.2.8组织曾用名替换 (9) 2.2.9新组织识别与保存 (9) 2.2.10组织名称翻译与维护 (10) 2.2.11地域划归 (10) 2.2.12矩阵分析 (10) 3工作量及报价 (11)

1任务概述 本项目开发两个系统——“专利信息检索与分析系统”和“英文论文信息检索与分析系统”,均为科研使用。项目使用C#.net编写,运行于Windows系统,将采用C/S模式,即在处理程序在服务器上运行,任何一个接入服务器的客户端,只要安装了客户端软件,便可使用分析功能。 本项目将采用数据库和搜索引擎相结合的方式,数据库主要用来保存数据,而搜索引擎则用来做复杂条件搜索和统计。 2需求规定 2.1专利信息检索与分析系统 2.1.1数据导入 2.1.2建立数据索引

《信息检索》

《信息检索》教学大纲 2001年7月 1、 开设系:经济信息管理系 2、 教学对象:本科学生 3、 教学目的:培养学生的信息查找能力与利用能力 4、 教学要求: 1、掌握信息检索的基本理论 2、学会手工检索及方法 3、掌握计算机检索的技术 4、学会光盘检索 5、学会网络检索 5、 教学课时及分配:总学时:54学时;其中授课: 36学 时;实习:12学时;机动:6学时 6、 考核:考试与平时考核相结合,考试占80%,平时占20%;试 卷结构:为填空题20空共20分,简答题6题共60分,计算题一 题20分 7、 教材:赖茂生、王延飞、赵丹群编著《计算机情报检 索》,北京大学出版社,1993年出版 8、 主要参考书目:符绍宏、雷菊霞、饶伟红编著《因特网 信息资源检索与利用》教材,黄瑞华主编《现代实用信息检 索》,苏新宁、邵波编著《信息传播技术》,徐进鸿等编著 《情报检索》教材,赖茂生、徐克敏等编著《科技文献检 索》,《情报理论与研究》期刊等 9、 讲授提纲:

第1章 信息检索概述(3学时) 第1节 信息检索原理 1、 信息检索的概念与分类 2、 信息检索的作用 3、 信息检索的基本原理 第2节 信息检索系统 1、 信息检索系统的概念与分类 2、 计算机检索系统的构成 第3节 检索语言 1、 检索语言的概念与作用 2、 分类检索语言 3、 主题检索语言 4、 分类主题一体化语言 5、 自然语言与规范语言的分析 第4节 信息检索发展概况 第2章 手工检索(6学时) 第1节 检索工具 1、 检索工具的概念和作用 2、 类型 3、 内容结构 第2节 手工检索步骤 1、 文献信息检索的步骤 1、 分析研究课题 2、 选择检索工具 3、 确定检索方法

信息检索题库 答案(终极版)分析

四川师范大学信息检索课后作业 1.(第1章?单选)联合国教科文组织分别于2003年和2005年召开了以(A)为主题的世界性大会,并发布了《布拉格宣言》和《亚历山大宣言》。 A、信息素养 B、信息安全 C、信息检索 D、信息评价 2.(第1章?多选)信息素养的基本构成具体包括(ABCD) A、信息知识 B、信息意识 C、信息能力 D、信息伦理 3.(第1章?多选)信息意识具体包括(ABCD)。 A、充分认识到信息在学习、工作和生活中的重要作用,遇到问题时首先应该想到通过信息的获取和利用来解决所遇到的问题; B、对信息具有敏锐的感知力和洞察力,能高效、快速识别有价值的信息,善于从所获取的信息中找出解决问题的思路、线索或方案; C、对信息具有积极的内在需求,善于根据社会需要主动发现自身的信息需求; D、具有通过获取信息强化自身学习能力的想法和观念,遇到不懂的东西能积极主动的通过获取信息找寻答案。 4.(第1章?多选)关于信息素养教育,下列说法正确的是(ABCD)。 A、信息素养教育的第一个层次是拓展视野,使人们知道这个世界上原来还有这么多信息资源。 B、信息素养教育的第二个层次是训练信息获取能力,使人们知道如何获取所需要的信息。 C、信息素养教育的第三个层次是培养信息利用能力,使人们具有敏锐的信息意识和利用信息解决问题的能力。 D、信息素养教育的目标是培养终身学习能力,而信息素养教育自身也是一个终身学习的过程,信息素养教育与终身学习能力是一个相互促进、螺旋提升的关系。 5.(第1章?多选)信息素养是指:基于(ABC),通过确定、检索、获取、评价、管理、应用信息解决所遇到的问题并以此重构自身知识体系的综合能力和基本素质。 A、信息意识 B、信息知识 C、信息伦理 D、信息评价 6.(第1章?多选)2000年1月18日,美国大学与研究图书馆协会(ACRL)标准委员会审议通过了《高等教育信息素养能力标准》,其中包含5项标准和22项具体指标。下列属于5项标准的是(ABCD)。 A、具有信息素养的学生能够确定所需信息的性质和范围 B、具有信息素养的学生能够有效和高效地获取所需信息 C、具有信息素养的学生能评价信息及其来源并将选取的信息整合入其知识基础和价值体系中 D、具有信息素养的学生,不论是个人或作为小组成员,都能够有效地利用信息达到特定的目的 7.(第1章?单选)"information literacy "一般翻译为(B)。 A、信息检索 B、信息素养 C、信息安全 D、信息评价 8.(第1章?单选)(D)是指在信息的生产、存储、获取、传播和利用等信息活动各个环节中,用来规范相关主体之间相互关系的法律关系和道德规范的总称。 A、信息知识 B、信息能力 C、信息意识 D、信息伦理

第10章 查找

一、选择题 ( )7、下面关于二分查找的叙述正确的是。 A)表必须有序,表可以顺序方式存储,也可以链表方式存储; C)表必须有序,而且只能从小到大排列; B)表必须有序且表中数据必须是整型,实型或字符型; D)表必须有序,且表只能以顺序方式存储; ( ) 14.长度为12的有序表采用顺序存储结构,使用二分查找技术,在等概率情况下,查找成功时的平均查找长度是。 A. 37/12 B. 62/13 C. 39/12 D. 49/13 ( ) 14、折半查找法要求查找表中各元素的关键字必须是排列。 A)递增或递减 B)递增 C)递减 D)无序 ( ) 13、一棵7阶B-树的根结点及非根分支结点所包含的关键字的个数至少分别为A)1,3 B)2,4 C)3,5 D) 6,6 2、设有100个元素,用折半查找法进行查找时,在查找成功的情况下,最大比较次数是_____ 。 A.100 B.50 C.99 D.7 4、指出在顺序表{2、 5、7、10、14、15、18、23、35、41、52}中,用二分法查找12,需做多少次比较。 ______ A、2 B、3 C、4 D、5 6、从二叉排序树中查找一个元素时,其时间复杂度大致为________。 A、 O(n) B、 O(1) C、 O(log2n) D、 O(n2) 1.顺序查找法适合于存储结构为()的线性表。 (A)散列存储(B)顺序存储或链接存储(C)压缩存储(D)索引存储 2.对线性表进行二分查找时,要求线性表必须()。 (A)以顺序方式存储(B)以链接方式存储 (C)以顺序方式存储,且结点按关键字有序排序 (D)以链接方式存储,且结点按关键字有序排序 3.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为() (A)n (B)n/2(C)(n+1)/2(D)(n-1)/2 4.采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为() (A)O(n2)(B)O(log2n)(C)O(n)(D)O(log2n) 5.二分查找和二叉排序树的时间性能()。 (A)相同? (B)不相同? (C)无法比较 6.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,()次比较后查找成功。 (A)1(B)2(C)4(D)8 8.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找

第十章习题解

第十章习题解 1 . 试述事务的概念及事务的四个特性。恢复技术能保证事务的哪些特性? 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有四个特性: 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 持续性:持续性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 这个四个特性也简称为ACID特性。恢复技术能保证事务的原子性、一致性和持续性。 4. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据? 答:数据库系统中可能发生各种各样的故障,大致可以分以下几类: (1)事务内部的故障; (2)系统故障; (3)介质故障; (4)计算机病毒。 事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。 5 . 数据库恢复的基本技术有哪些? 答:数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 8 .登记日志文件时为什么必须先写日志文件,后写数据库? 答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。 如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修

专业术语索引

专业术语索引(按汉语拼音为序) A 安全电子邮件证书 符合安全电子邮件规范,可以用于邮件加密和签名使用的数字证书。证书有效期为3年。 安全套接字层协议(Security Sockets Layer, SSL) 安全套接字层(SSL)是一个工业标准协议,对应于七层网络模型中的会话层,它使得公开密钥技术在其中发挥了重要作用。SSL在企业内部网和公共Internet上广泛运用,被许多厂商的客户机/服务器所支持。 B↑ 本地注册中心(Local Registration Authority,LRA) 是RA的下级注册审批机构和证书申请受理点,用户要到LRA去申请本人的数字证书。 不可否认性 又称抗抵赖性,即由于某种机制的存在,人们不能否认自己发送信息的行为和信息的内容。传统的方法是靠手写签名和加盖印章来实现信息的不可否认性。在互联网电子环境下,可以通过数字证书机制进行的数字签名和时间戳,保证信息的抗抵赖。 C↑ D↑ 《电子认证服务管理办法》 《电子认证服务管理办法》于2005年1月28日中华人民共和国信息产业部第十二次部务会议审议通过并发布,自2005年4月1日起施行。共计八章四十三条,信息产业部为了配合《中华人民共和国电子签名法》的发布和实施,制定出的用以规范电子认证服务行为、监管电子认证服务的行政法规。该法明确了电子认证服务机构的资质要求、应提供的服务及应履行的义务,数字证书所包含的内容、认证机构终止服务后的业务承接方式、国家监管部门对认证机构的监管措施等等。它对《中华人民共和国电子签名法》的相关内容进行了细化,对其落实和执行起到了良性的推进作用,为我国电子认证服务机构(CA),尤其是第三方CA的健康发展提供了更好的保障。具体参见《电子认证服务管理办法》。 Direct Server和Direct Client CFCA从加拿大Entrust公司引进了一套基于Web的应用程序,其商品名称是Entrust Direct。这套软件能够让用户利用标准的Web浏览器去和要访问的Web网站的服务器进行安全的连接。这套软件由两个主要组件--Direct Server和Direct Client组成。 Direct Client是Web浏览器的本地安全代理(Proxy),它可以即插即用地安装在用户的PC 中;Direct Server是网站Web服务器的安全代理,它安装在Web服务器中,一般在防火墙的后面工作。这两个安全代理软件通过交谈建立起一个安全会话,使得在服务器与浏览器之间能够彼此安全地传输数据。在这个过程中要用到数字证书认证、数字签名和加密通信等多种安全技术。

信息检索的重要性3篇_总结

《信息检索的重要性》 总结精选(1): 信息检索的重要性 关于信息检索,我认为就是搜索、查找、并且对查找到的信息分析鉴别、处理然后挑拣出对自己有用的信息资料。这就需要我们每个人都务必要培养信息获取和利用的潜力。 信息是一种资源,在当代社会信息化的进程中,信息对我们生活的影响日显重要,人们将信息资源,能量资源,物质资源统称为当代社会的三大资源。开发利用信息资源需要有科学的方法,完整的过程包括信息检索、分析与鉴别、处理以及信息发布等环节。 在信息爆炸的现今,如果按此刻的信息量衡量,我们一生闭门苦读也只能了解有限的一部分。所以,我们务必要有获取和利用信息的潜力,这是十分重要的,这是大学生潜力结构的需要,并且,要掌握一套较完整的开发、利用信息资源的方法。学习好对信息获取和利用潜力的培养,能够提高我们大学生的各种潜力,比如,很实用的适应、学习潜力。然后在实用的基础上,培养应用潜力,比如实践、管理、表达、分析、观察等等。在这个基础上,在潜力结构的最高层,就是培养我们的研究创新潜力。在这些潜力中,在独立作用的同时又互相作用、互相制约、互相促进。从而组成有机联系的潜力结构。有了这些潜力结构的纲领,我们就要根据这些步骤,来完成对信息检索课与信息潜力的培养。 有了这些明确的框架结构,我们就很有目标性的学习。这能够培养我们的实用、应用甚至研究潜力、。这些潜力在我们今后的生活,工作中至关重要,不但是我们的一门课程,还是我们人生远航的帆船。 在信息爆炸式增长的年代,如果我们所学专业知识只是来自课本或课堂笔记,那么我们的知识将永远不会超过我们所用的课本和老师教案的水平。我们要想成长为参天大树,务必要在前人的基础上,争取创新,提高自身获取信息的潜力,集思广益,获取百家之精要,然后对其做处理,就比如说对一些文献,我们不明白哪些对我们此刻有用,但我们利用一些高科技工具,能够对信息、知识、情报和文献做处理,选出我们需要并且有实用的需求。对一些资料价值的衡量,务必要透过这门课程来学习,并且熟练的掌握才能把如海水般的文字、音像、图画、符号等等超多的信息,多化少,粗化精,精益求精,选出我们最需要信息的核心,这都少不了我们对这门检索课的学习,而且务必掌握。 现今是多元化信息爆炸年代,对于分析现有信息是一门必修课,不但是在课程,在人生也是一样,我们要分析做一件事的好与坏,价值是多少,都需要我们查阅超多的资料,对于各个方面都要做很细心的分析,思考,如果没掌握这门检索课程,对于我们以后人生的生活也会有很大的影响。为了以后的路能够更加平坦,少一些曲折,崎岖,尽量少走弯路,务必对社会上各个方面的,不论是经济,

相关文档