几个数据结构的题目,大家帮下忙。

98.设m,n为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是。A.n在m右方B.n是m祖先C.n在m左方D.n是m子孙99.下列说法不正确的是______。A.... 98.设m, n为一棵二叉树上的两个结点,在中序遍历时, n在m前的条件是 。
A.n在m右方 B.n是m 祖先 C.n在m左方 D.n是m子孙
99. 下列说法不正确的是______。
A.图的遍历是从给定的源点出发每一个顶点仅被访问一次
B.图的深度遍历不适用于有向图
C.遍历的基本算法有两种:深度遍历和广度遍历
D.图的深度遍历是一个递归过程

101.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为_______。
A.(38,40,46,56,79,84) B. (40,38,46,79,56,84)
C.(40,38,46,56,79,84) D. (40,38,46,84,56,79)
102.以下算法的功能是______(栈和队列的元素类型均为int)。
void algo(Stack S, int e){
Stack T; int d;
InitStack(T);
while (!StackEmpty(S)) {
pop(S, d); if (d!=e ) push(T, d); }
while (!StackEmpty(T)) {
pop(T, d); push(S, d); }

A.删除栈S中的数据e B. 判断栈S中是否存在数据e
C.将栈S中的数据逆置 D.将栈S中的数据放入栈T中
展开
 我来答
希望村村民
2010-01-15 · TA获得超过1589个赞
知道小有建树答主
回答量:1187
采纳率:100%
帮助的人:1034万
展开全部
//随即迷宫与最短路径
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<time.h>
#define max_m 1000
#define max_n 1000
int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
int maze[max_m][max_n];
int m,n,start_row,start_col;
char c;
void read_maze()
{
int i,j,num=0;
time_t t;
srand(time(&t));
start_row=m-1,start_col=n-1;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
maze[i][j]=rand()%2;
if(maze[i][j])
num++;
}
if(num>m*n/2)
{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(maze[i][j])
maze[i][j]-=rand()%2;
}
maze[0][0]=0;
maze[m-1][n-1]=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("%d ",1-maze[i][j]);
if(j==n-1)puts("");
}
}

int new_value(int row, int col)
{
int i,new_row,new_col;
int result;
result = maze[row][col];
if (result == 0)
{
for (i = 0; i < 4; i++)
{
new_row=row+dir[i][0];
new_col=col+dir[i][1];
if(new_row>=0&&new_row<m&&new_col>=0&&new_col<n&&maze[new_row][new_col]<0&&(result==0||maze[new_row][new_col]-1>result))
{
result = maze[new_row][new_col] - 1;
}
}
}
return result;
}

int find_shortest_path()
{
int changed,i,j,new_val,expect_val;
changed = 1;
maze[0][0] = -1;
expect_val = -2;
while (changed && maze[start_row][start_col] == 0)
{
changed = 0;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
{
new_val = new_value(i,j);
if (new_val == expect_val && new_val != maze[i][j])
{
maze[i][j] = new_val;
changed = 1;
}
}
expect_val--;
}
return (maze[start_row][start_col] < 0);
}

void print_shortest_path()
{
int i,j,new_i,new_j,expect_val,k;
if (maze[start_row][start_col] >= 0)
{
printf("There is no path\n");
return;
}
printf("(%d,%d)\n", start_row+1, start_col+1);
i = start_row;
j = start_col;
for (expect_val = maze[start_row][start_col]+1; expect_val <= -1; expect_val++)
{
for (k = 0; k < 4; k++)
{
new_i = i + dir[k][0];
new_j = j + dir[k][1];
if (new_i >= 0 && new_i < m && new_j >= 0 && new_j < n && maze[new_i][new_j] == expect_val)
{
i = new_i;
j = new_j;
printf("(%d,%d)\n", i+1,j+1);
break;
}
}
}
}

int main()
{
while(scanf("%d%d",&m,&n))
{
read_maze();
if (find_shortest_path())
{
print_shortest_path();
}
else
{
printf("There is no path\n");
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
eagleolive
2010-01-19 · 超过15用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:46.9万
展开全部
98C99B101C102B
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式