数据结构
免费题库
如何计算多维数组在两种存储方式下元素的存储地址?
利用两个栈S1和S2模拟一个队列,如何用栈的运算来实现队列的插入和删除运算?试写出算法。
函数BinSearch实现二分查找,请回答下列问题。 (1)在空白处填写适当内容,使函数功能完整。 (2)查找成功时函数的返回值是什么? (3)查找失败时函数的返回值是什么? intBinSearch(SeqListR,KeyTypek,intn) {intlow=0,mid,high=n一1; while(10w<=high){ mid=(1); if(R[mid].key==k) returnmid; if(R[mid].key>k) high=mid一1; else low=mid+1; } return一1; }
试写出二分查找的递归算法。
在权值为w1,w2,…,wn的n个叶结点构成的所有二叉树中,带权路径长度最小的二叉树称为____。
假设Visited[MaxVertexNum]为一全局量数组,用以标记某个顶点是否被访问过。其初值均为FALSE。给出如下以邻接矩阵为存储结构的深度优先搜索遍历算法,请填写空白处语句。 intvisited[20] voidDFS(MgraphG,intI,intn) {//从顶点vi出发,深度优先搜索遍历图G intj; prinff("v%d一>¨,i); _____;//标记vi已被访问过 for(j=O;j<n;j++) if(G.arcs[i][j]_____&&_____) DFS(G,j,n); }
对n个顶点的无向图和有向图,采用邻接矩阵和邻接表表示时,如何判断下列问题:
如何计算广义表的深度和长度?
对含有n个互不相同元素的顺序表,同时查找最大值和最小值元素至少需要进行多少次比较?
分析下列排序算法中语句1和语句2的频度以及此算法的时间复杂度,并指出该算法是属于哪一种排序方法。 voidf33(inta[],intn) {inti,j,k,t; for(i—i0;i<n;i++)∥语句1 {j=i; for(k=j+1;k<=n;k++) if(a[k]<a[j])j=k;∥语句2 t=a[i];a[i]=a[j];a[j]=t; } }
«
1
2
...
12
13
14
15
16
17
18
...
31
32
»