- 80
- 0
- 约1.31万字
- 约 12页
- 2017-04-21 发布于湖北
- 举报
数据结构--例题精要
!!对给定关键字序号j(1jn),要求在无序记录A[1..n]中找到关键字从小到大排在第j位上的记录,写一个算法利用快速排序的划分思想实现上述查找。(要求用最少的时间和最少的空间)
例如:给定无序关键字{7,5,1,6,2,8,9,3},当j=4时,找到的关键字应是5。
int partition(RecType A[], int 1, int n)
{
int i=1,j=n;x=A[i].key;
i=1;
while(ij)
{
while(ij A[j].key=x) j--;
if(ij) A[i++]=A[j];
while(ij A[i].key=x) i++;
if(ij) A[j--]=A[i];
}
return i;
}
void Find_j(RecType A[],int n,int j) n为数组长度
{
i=partition (A,1,n);
while(i!=j)
if(ij) i=partition(A,i+1,n); ∥在后半部分继续进行划分
else i=partition(A,1,i-1); ∥在前半部分继续进行划分
}
因装填因子为0.7,有7个元素,故哈希表长m=7/0.7=10构造的哈希表如下:
散列地址 0 1 2 3 4 5 6 7 8 9
关键字 7 14 8 11 30 18 9
比较次数 1 2 1 1 1 3 3
答:ASL成功=1/7*(1*4+2*1+3*2)=12/7,失败=1/7*(3+2+1+2+1+5+4)=18/7
设图的顶点只是编号1――n,边的信息是有(用1表示)或无(用0表示),这时可用邻接矩阵表示图的存储结构。请编写算法建立无向图的邻接矩阵的存储结构
void creatgraph(int M[][],int n,int e) //设有n个顶点e条边
{
int i,j;
for (i=1;i=n;i++)
for(j=1;j=n;j++)
M[i][j]=0;
for (i=1;i=e;i++)
{ cinij;
M[i][j]=1; M[j][i]=1;
}
}
在根指针t所指二叉排序树中递归查找某关键字等于k的数据元素
BSTree SearchBST1(BSTree t,keyType k)?
{
if(!t||k==t-key) return(t);
? else if(kt-key) return(SearchBST1(t-lchild,k));
? else return(SearchBST1(t-rchild,k));??
}?
写出快速排序中一趟划分的算法。
int partition(int R[],int s,int t) //s和t是数组的低下标和高下标
{
int i=s,j=t,x=R[i].key;
while(ij)
{
while(ij R[j].key=x)
j--;
R[i]=R[j];
while(ij R[i].key=x)
i++;
R[j]=R[i];
}
r[i]=x;
return i;
}
要求完全利用循环队列中的元素空间,设置一个标志域tag,并以tag的值是0或1来区分尾指针和头指针相同时的队列状态是“空”还是“不空”请编写与此结构相对应的出队算法。相关类型定义如下:
void?QueueOut(CycQueue cq);
{
if(cq.tag==0) cout队列为空\n;
??? else
{
cq.front=( cq.front+1) % m;
??????????????if(cq.front== cq.rear)
cq.tag=0;? //空队列
}
}
!!设n是非负整数,下面程序片段的时间复杂度是(O(log2n)? )。
?x=2; while(xn/2) x=2*x;
已知二叉树的二叉链表存储表示如下,试编写求二叉树深度的算法
int Height(BiTree bt)
{
int hl,hr;
if(bt==null) return(0);????? //空二叉树深度为0
else
{
hl=Height(bt-lchild); ?//左子树的深度
hr=Height(bt-rchild);? //右子树的深度
if(hlhr) return(hl+1); //二叉树的深度
您可能关注的文档
最近下载
- 小学三(上)人教版PEP版单词字帖(可打印).pdf VIP
- 新三上语文全册1-26课内阅读理解专项训练(含答案52页).docx
- 信捷DS5L1系列伺服驱动器用户使用手册.pdf
- 工程设计资质标准建市〔2007〕86号.pdf VIP
- 2025聊城职业技术学院单招《数学》题库试题附答案详解【培优A卷】.docx VIP
- 四氢呋喃安全周知卡、职业危害告知卡、理化特性表.docx VIP
- 58454《土木工程施工》穆静波(电子课件)14施工组织总设计.ppt VIP
- 小学数学二年级下每日一练.pdf VIP
- 《智能网联汽车智能传感器测试与装调》电子教案.pdf VIP
- 材料成型原理.pdf VIP
原创力文档

文档评论(0)