求数据结构题目答案
发布网友
发布时间:2022-04-23 11:57
我来回答
共1个回答
热心网友
时间:2023-06-24 23:32
#include "stdlib.h"
#include<stdio.h>
//1、
typedef struct TreeNode
{
int data;
TreeNode* leftChild;
TreeNode* rightChild;
}*Tree;
int CountTree(Tree t)
{
if(t==NULL)
return 0;
return 1+CountTree(t->leftChild)+CountTree(t->rightChild);
}
//2、
void CheckExp(char* expresion)
{
int bracket = 0;
char* exp = expresion;
while(*exp!=0)
{
if(*exp=='(')
bracket++;
if(*exp==')')
bracket--;
if(bracket<0)
{
printf("缺少左括号\n");
return;
}
exp++;
}
if(bracket>0)
printf("缺少右括号\n");
else
printf("括号配对\n");
}
//3、
#define M0 100
struct sqlist
{
int elem[M0+1];//M0为足够大的常数
int Length;
};
//其中数据从1号开始存放数据,0号单元用作哨兵?
//请采用插入排序的思想进行排序,写出排序算法并指出该算法时间度
void sort(sqlist &l)
{
if(l.Length<=0)
return;
int i=1;
int j=i+1;
int temp;
while(j<=l.Length)
{
l.elem[0]=l.elem[j];
while(l.elem[j]<l.elem[j-1])
{
temp=l.elem[j];
l.elem[j]=l.elem[j-1];
l.elem[j-1]=temp;
j--;
}
i++;
j=i+1;
}
}
int main()
{
//1
Tree tl = new TreeNode;
tl->data=1;
tl->leftChild = NULL;
tl->rightChild = NULL;
Tree t = new TreeNode;
t->data = 0;
t->leftChild = tl;
t->rightChild = NULL;
printf("二叉树t中的节点个数为:%d\n",CountTree(t));
//2
char* exp;
exp="(1+432*243)+((5-1)*234+(234*(24-234))))";
puts(exp);
CheckExp(exp);
exp="(1+432*243)+(((5-1)*234+(234*(24-234)))";
puts(exp);
CheckExp(exp);
exp="(1+432*243)+((5-1)*234+(234*(24-234)))";
puts(exp);
CheckExp(exp);
//3
sqlist l;
l.elem[0]=0;
l.elem[1]=23;
l.elem[2]=2;
l.elem[3]=10;
l.elem[4]=34;
l.elem[5]=50;
l.elem[6]=1220;
l.elem[7]=130;
l.elem[8]=77;
l.Length=8;
int i;
printf("排序前:");
for(i=1;i<=l.Length;i++)
printf("%d ",l.elem[i]);
printf("\n");
sort(l);
printf("排序后:");
for(i=1;i<=l.Length;i++)
printf("%d ",l.elem[i]);
printf("\n");
system("pause");
return 0;
}
插入排序算法有两层循环,外层循环共n-1次,内层循环次数在0~n-1之间。因此算法的时间复杂度为o(n^2)。
数据结构题目求解答!先谢各位了!!
第一题选D:顺序存储结构 首先说明一下什么是数据的存储结构,它是批数据结构在计算机中的表示(物理结构),主要有四种:顺序存储、链式存储、索引存储和散列存储。顺序存储的特点是:逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,第1题里问“可用存储顺序代表逻辑顺序的数据结构”自然是D顺序存...
数据结构题目 趴求答案啊啊啊啊 ,,求好心人帮助!!!另外因为是考题,所 ...
数据结构题目 趴求答案啊啊啊啊 ,,求好心人帮助!!!另外因为是考题,所以可能有一些价值的,求达人助 10 填空1 、___表示算法执行过程中需要存储空间的程度。 2 、对于频繁进行插入和删除的线性表,宜采用___存储结构。 3 、已知顺序表中一个元素的存储位置是 x,每个元素占 c个字节,则其后续元素的存储位置...
数据结构题目2求详细解题步骤谢谢
将所有的key除17取余数得到: 9,8(1),0,4,8(2),1,【8(3)】。 因为有冲突,所以这里用小括号表示第几个8. 第一个8放到地址8, 第二个8放到地址8的下个,9, 发现9被占了,就继续往下探测,发现10是空的, 最后一个8, 放地址8, 不行, 就许往下走,9依然不行, 继续...
数据结构题目,求大神解决。!~!
(1)层次遍历是:86,74,40,53,65,36,16,38,46,14,27,26 (2)答案是:(53,46,40,38,27,34,16,14,26) (74,86,65)
数据结构与算法求助,答案是B,希望有过程,因为不懂过程怎么得来的,题 ...
这一题可以用特例法以及排除法,A选项有可能整个队列是空的。C选项有可能队头是1,队尾是2,n>2,队伍里面有可能只有一个元素。D选项与C类似,也是有可能队伍里面只有一个元素。B选项是对的,也就是队尾的指针加上1,除以n取余,跟对头相等,也就是对队尾指针的下一个又到的队头,这就说明了...
设数据集合为D={ 1, 2, 3, 4, 5 }.下列数据结构 B=(D, R)中为非线性...
答案B和D。题目集合中都是结点,每一个结点的表示是(当前结点地址,下一个指向的结点地址),如(1,2),(2,3)。这里主要考察数据结构单向链表,B中(2,3)下一个应该指向(3,5),不是(4,3),所以非线性的。同理D。
哪位能帮忙解一下这个数据结构的题目
38 4 55 3 55%17=4 冲突 (55+1)%17=5 仍然发生冲突 (55-1)%17=3 72 8 72%17=4 冲突 (72+1)%17=5 仍然发生冲突 (72-1)%17=3 仍然发生冲突 (72+2^2)%17=8 Hi=(H(key) + di) MOD m,i=1,2,…,k(k<=m-1),其中H(key)为散列函数,m为散列...
数据结构题目: 在有n个叶子结点的完全二叉树中,最多有多少个结点?_百 ...
按照结点算:T = n0 + n1 + n2 (1)按照边算: T = n1 + 2 * n2 + 1 (2)所以(1) - (2)n0 = n2 + 1 在知道n0等于n的情况下,n2等于n - 1,所以 T = n0 + n1 + n2 = 2 * n + n1 - 1 由于是完全二叉树,因此n1只可能为0或1,因此T = 2 * n ...
数据结构问题,给个解释,答案是4
题目意思是入栈顺序是123456,出栈顺序是256431的最小栈。按照“入入出入入入出入出出出出”的顺序可以得到256431,只要4处层的栈就可以满足要求。这道题简单的不行,就是用英文说的比较繁琐。采纳吧骚年。
数据结构题目求答案
6、二叉树的第i层最多有 2^(i-1) 个结点,深度为k的二叉树最多有 2^k-1 个结点。7、利用MST性质来构造最小生成树的两种常用算法为___PRIM___和___KRUSKAL___。8、常见的四类基本数据结构有:__栈___、___队列___、___树___、___链表___。(不确定,数据结构太多,...