网络信息安全 试卷
广东工业大学 网络信息安全 往年试卷 10年 11年
软件设计与体系结构
2012年5月31号刚刚出炉的 软设重点。据说,只要看懂了,考试完全没问题。自己下载查看吧
09年广工嵌入式试卷
09年广工嵌入式试卷 广工 嵌入式 试卷 图片高清版
广工计算机大三下学期期末考试 图形学嵌入式数据库
广工计算机大三下学期 考试资源 图形学 嵌入式 数据库
编译、OS、汇编、计算方法、AI、系统结构
编译、OS、汇编、计算方法、AI、系统结构 —— 六科期末考试复习资料
2-3树实现的数据结构课程设计图书管理系统
老师直接免检的2-3树实现的数据结构期末课程设计 图书管理系统。
功能强大,管理员及读者双模式。读者可注册,管理员密码为 “password”。。附详细代码说明,适当修改后即可作为课程设计上交啦。
图书管理系统C语言版
C语言写的图书管理系统,代码简单易懂,适合于 期末课程设计 参考。
数据结构大实验动态查找表
当年我做的数据结构课内大实验——动态查找表,实现了
二叉排序树
平衡二叉树
B_树
2-3树
B+树
计算机组成原理
已经整理好的一系列的计算机组成原理 历年考试题目。应该是可以直接下载后去打印室打印出来的,我都拍过版了
线性代数期末考试复习资料试卷
线代是众多科目中较为麻烦的一个,可以根据资源中的试卷练习。考试万变不离其宗,弄懂里面的题目,考试就没问题。
线性代数期末复习资料,主要为往年期末考试试卷及答案
高数第二学期往年试卷
高等数学往年期末考试试卷 及 答案。
07年 08-09学年度 10年的没有存档
大学物理实验报告答案大全
大学物理实验报告答案大全(实验数据及思考题答案全包括)
大学物理实验考试题目
广东工业大学通用版大学物理实验考试试卷、题目。包括实验考试可能考的全部题目,分单独的每个实验一份试题。详细下载打开查看
计算机组成原理 一系列的往年试卷 工大
计算机组成原理 一系列的往年试卷 工大
基本上看完这些试卷,考试就绝对没问题的啦。
数据结构——第9章 数据结构 anyview作业系统答案
9.25实现下列函数:
int Search(SSTable s, KeyType k);
/* Index the element which key is k */
/* in StaticSearchTable s. */
/* Return 0 if x is not found. */
静态查找表的类型SSTable定义如下:
typedef struct {
KeyType key;
... ... // 其他数据域
} ElemType;
typedef struct {
ElemType *elem;
int length;
} SSTable;
int Search(SSTable a, KeyType k)
/* Index the element which key is k */
/* in StaticSearchTable s. */
/* Return 0 if x is not found. */
{
int i;
if(a.length==0) return ERROR; //先判断a是否为空
a.elem[a.length+1].key=k;
for(i=1;a.elem[i].key>k;i++)
if(i>=a.length||a.elem[i].key<k) //不能忽略i=a.length这种情况
return ERROR;
return i;
}
/* {
int i;
a.elem[a.length+1].key=k;
for(i=1;a.elem[i].key>k;i++)
if(i>a.length||a.elem[i].key<k)
return ERROR;
return i;
} */
9.26② 试将折半查找算法改写成递归算法。
实现下列函数:
int BinSearch(SSTable s, int low, int high, KeyType k);
/* Index the element which key is k */
/* in StaticSearchTable s. */
/* Return 0 if x is not found. */
静态查找表的类型SSTable定义如下:
typedef struct {
KeyType key;
... ... // 其他数据域
} ElemType;
typedef struct {
ElemType *elem;
int length;
} SSTable;
int BinSearch(SSTable s, int low, int high, KeyType k)
/* Index the element which key is k */
/* in StaticSearchTable s. */
/* Return 0 if x is not found. */
{ int mid;
if(low<=high)
{
mid=(low+high)/2;
if(s.elem[mid].key==k) return mid;
if(s.elem[mid].key<k)
return BinSearch(s,mid+1,high,k);
if(s.elem[mid].key>k)
return BinSearch(s,low,high-1,k);
}
return 0;
}
/* { int mid;
if(low<=high)
{
mid=(low+high)/2;
if(s.elem[mid].key<k)
return BinSearch(s,mid+1,high,k);
else
return BinSearch(s,low,high-1,k);
}
return 0;
}
*/
9.31④ 试写一个判别给定二叉树是否为二叉排序树的算法,设此二叉树以二叉链表作存储结构。且树中结点的关键字均不同。
实现下列函数:
Status IsBSTree(BiTree t);
/* 判别给定二叉树t是否为二叉排序树。*/
/* 若是,则返回TRUE,否则FALSE */
二叉树的类型BiTree定义如下:
typedef struct {
KeyType key;
... ... // 其他数据域
} ElemType;
typedef struct BiTNode {
ElemType data;
BiTNode *lchild,*rchild;
}BiTNode, *BiTree;
KeyType predt=-32767;
Status IsBSTree(BiTree t)
/* 判别给定二叉树t是否为二叉排序树。*/
/* 若是,则返回TRUE,否则FALSE */
{
if( t )//&& ! ( t->lchild || t->rchild ) )//空树和叶子不用判断
{
if( t->lchild && ( t->data.key < t->lchild->data.key ) )//左孩子不空,左孩子的key比本身的大
return FALSE;
else if( t->rchild && ( t->data.key > t->rchild->data.key ) )//右孩子不空,右孩子的key比本身的大
return FALSE;
else if( !IsBSTree( t->lchild ) )//判断左子树
return FALSE;
else if( !IsBSTree( t->rchild ) )//判断右子树
return FALSE;
}
return TRUE;
}
/*
{
if(!t) return OK;
if(t&&!t->lchild&&!t->rchild) return OK;
else
{
if(t->lchild->data.key<t->data.key)
IsBSTree(t->lchild);
if(t->lchild->data.key>=t->data.key)
return ERROR;
if(t->rchild->data.key>t->data.key)
IsBSTree(t->rchild);
else return ERROR;
return OK;
}
} */
9.33③ 编写递归算法,从大到小输出给定二叉排序树中所有关键字不小于x的数据元素。要求你的算法的时间复杂度为O(log2n+m),其中n为排序树中所含结点数,m为输出的关键字个数。
实现下列函数:
void OrderOut(BiTree t, KeyType x, void(*visit)(TElemType));
/* Output is to use visit(t->data); */
二叉树的类型BiTree定义如下:
typedef struct {
KeyType key;
... ... // 其他数据域
} ElemType;
typedef struct BiTNode {
ElemType data;
BiTNode *lchild,*rchild;
}BiTNode, *BiTree;
void OrderOut(BiTree t, KeyType x, void(*visit)(TElemType))
/* Output is to use visit(t->data); */
{ if(t->rchild) OrderOut(t->rchild,x,visit);
if(t->data.key>=x)
visit(t->data);
if(t->lchild)OrderOut(t->lchild,x,visit);
}
/*
{ if(t->rchild) OrderOut(t->rchild,x);
if(t->data<x) exit();
visit(x);
if(t->lchild)OrderOut(t->lchild,x);
}
*/
9.44④ 已知某哈希表的装载因子小于1,哈希函数
H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。
实现下列函数:
void PrintKeys(HashTable ht, void(*print)(StrKeyType));
/* 依题意用print输出关键字 */
哈希表的类型HashTable定义如下:
#define SUCCESS 1
#define UNSUCCESS 0
#define DUPLICATE -1
typedef char StrKeyType[4];
typedef struct {
StrKeyType key;
void *any;
} HElemType;
int hashsize[] = { 7,11,17,23,29,37,47 };
typedef struct {
HElemType elem[MAXLEN];
int count;
int sizeindex;
} HashTable;
int H(char *s)//求Hash函数
{
if( s[0] )
return s[0]-'A'+1; //求关键字第一个字母的字母序号(小写)
else
return 0;
}
void PrintKeys(HashTable ht, void(*print)(StrKeyType))
/* 依题意用print输出关键字 */
{
int i,j;
for( i = 1; i <= 26; i++ )
{
for( j = (i-1)%hashsize[ht.sizeindex]; ht.elem[j].key[0]; )
{
if( H ( ht.elem[j].key ) == i )
print(ht.elem[j].key);
j = (j+1)%hashsize[ht.sizeindex];
}
}
}
/*
void PrintKeys(HashTable ht, void(*print)(StrKeyType))
/* 依题意用print输出关键字
{ int i,j;
for(i=1;i<=26;i++)
for(j=i;ht.elem[j].key;j=(j+1)%MAXLEN)
if(H(ht.elem[j].key)==i)
print(ht);
}
int H(char *s)
{
if(s) return s[0]-96;
else return 0;
} */
9.45③ 假设哈希表长为m,哈希函数为H(x),用链地址法处理冲突。试编写输入一组关键字并建造哈希表的算法。
实现下列函数:
int BuildHashTab(ChainHashTab &H, int n, HKeyType es[])
/* 直接调用下列函数 */
/* 哈希函数: */
/* int Hash(ChainHashTab H, HKeyType k); */
/* 冲突处理函数: */
/* int Collision(ChainHashTab H, HLink &p); */
{ int i = 0,l,flag;
HLink p,node;
while( es[i] )
{
l = Hash( H, es[i] );
node = ( HLink )malloc( sizeof( HNode ) );
node->data = es[i];
node->next = NULL;
i++;
if( !H.elem[l] )
H.elem[l] = node;
else
{
flag = 0;
p = H.elem[l];
if( p->data == node->data )
flag = 1;
while( Collision( H, p ) )
if( p->data == node->data )
{
flag = 1;
break;
}
if( !flag )
{
p = H.elem[l];
node->next = p;
H.elem[l] = node;
}
}
}
}
"+userLink+""; $('miniAd').show(); } }, onFailure: function(){} }}); } showMiniAd();
数据结构——第7章 数据结构 第七章anyview系统作业答案
7.22③ 试基于图的深度优先搜索策略写一算法,
判别以邻接表方式存储的有向图中是否存在由顶
点vi到顶点vj的路径(i≠j)。 注意:算法中涉及
的图的基本操作必须在此存储结构上实现。
实现下列函数:
Status DfsReachable(ALGraph g, int i, int j);
/* Judge if it exists a path from vertex 'i' to */
/* vertex 'j' in digraph 'g'. */
/* Array 'visited[]' has been initialed to 'false'.*
数据结构实验 之 约瑟夫环实验
#include <iostream>
using namespace std;
typedef int Elemtype;
typedef struct LNode //定义结点结构
{ Elemtype key;
int k;
struct LNode *next;
}LNode,*LinkList;
int InitList(LinkList &L) //初始化单向循环链表
{ L=new LNode; //分配第一个结点空间
if(!L) return 1;
L->next=L; //形成循环链表
return 0;
}