早教吧作业答案频道 -->数学-->
50分求关于数据结构3个题目:1:6、9、3、1、8、9、5、11画出二叉树,写出前中后三序的结果.2:24、15、6、9、72、5、3写出它的快速排序,希尔排序及二分查找的相应算法.3:写出
题目详情
50分求关于数据结构3个题目:【1】:6、9、3、1、8、9、5、11画出二叉树,写出前中后三序的结果.
【2】:24、15、6、9、72、5、3写出它的快速排序,希尔排序及二分查找的相应算法.
【3】:写出单链表、栈队列的相关指针及判断空满的必要条件.
【2】:24、15、6、9、72、5、3写出它的快速排序,希尔排序及二分查找的相应算法.
【3】:写出单链表、栈队列的相关指针及判断空满的必要条件.
▼优质解答
答案和解析
1】
二叉树:6、9、3、1、8、9、5、11
\x09\x096
\x09 /\x09 \
\x099\x09\x093
/ \ / \
1\x09 8 9 5
/
11
1,前序:6、9,1,11,8,3,9,5
2,中序:11、1,9,8,6,9,3,5
3,后序:11、1,8,9,9,5,3,6
2】,
\x091,快速排序算法:
它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列.
假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序.一躺快速排序的算法是:
1)、设置两个变量I、J,排序开始的时候I:=1,J:=N;
2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1];
3)、从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换;
4)、从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换;
5)、重复第3、4步,直到I=J;
算法实现:
int sort_t(int a[],int top,int tall)
{
\x09int temp=a[top];
\x09while(top= temp && top < tall)
\x09\x09\x09--tall;
\x09\x09a[top]=a[tall];
\x09\x09while(a[top]top)
\x09\x09\x09++top;
\x09\x09a[tall]=a[top];
\x09}
\x09a[top]=temp;
\x09return top;
}
void sort(int a[],int top,int tall)
{
\x09if(top>=tall)
\x09\x09return;
\x09int middle=sort_t(a,top,tall);
\x09sort(a,top,middle-1);
\x09sort(a,middle+1,tall);
}
\x092,希尔排序
基本思想:
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组.所有距离为dl的倍数的记录放在同一个组中.先在各组内进行直接插人排序;然后,取第二个增量d2
二叉树:6、9、3、1、8、9、5、11
\x09\x096
\x09 /\x09 \
\x099\x09\x093
/ \ / \
1\x09 8 9 5
/
11
1,前序:6、9,1,11,8,3,9,5
2,中序:11、1,9,8,6,9,3,5
3,后序:11、1,8,9,9,5,3,6
2】,
\x091,快速排序算法:
它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列.
假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序.一躺快速排序的算法是:
1)、设置两个变量I、J,排序开始的时候I:=1,J:=N;
2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1];
3)、从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换;
4)、从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换;
5)、重复第3、4步,直到I=J;
算法实现:
int sort_t(int a[],int top,int tall)
{
\x09int temp=a[top];
\x09while(top= temp && top < tall)
\x09\x09\x09--tall;
\x09\x09a[top]=a[tall];
\x09\x09while(a[top]top)
\x09\x09\x09++top;
\x09\x09a[tall]=a[top];
\x09}
\x09a[top]=temp;
\x09return top;
}
void sort(int a[],int top,int tall)
{
\x09if(top>=tall)
\x09\x09return;
\x09int middle=sort_t(a,top,tall);
\x09sort(a,top,middle-1);
\x09sort(a,middle+1,tall);
}
\x092,希尔排序
基本思想:
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组.所有距离为dl的倍数的记录放在同一个组中.先在各组内进行直接插人排序;然后,取第二个增量d2
看了50分求关于数据结构3个题目:...的网友还看了以下:
根据56×1.3=72.8,直接写出下面各题的结果.560×0.13=7.28÷1.3=72.8÷ 2020-04-07 …
1-1/21/61/42-1/561/72-1/901/110-1/132-1/150-1/182 2020-04-07 …
把两个算式合并,写成一个综合算式.(1)72-56=16 7x8=56 (2把两个算式合并,写成一 2020-05-16 …
递等式计算(怎样计算简便就怎样算)8.68+5.76+1.3219-9.09+1.9118.72+ 2020-06-11 …
奥术(火车行程)1)长72米的列车,追上108米的货车到完全超过用时60秒,如果货车的速度为原来的 2020-06-16 …
数学方面的,请用五个字描述一个最大的数,要是具体的(也就是别人能计算出具体有多少个零的).我想的答 2020-07-02 …
航空模型比例为什么是1:72或1:48的48和72这两个数字有什么特殊含义吗?为什么不是1:50或 2020-07-17 …
直接写出得数636-198=7÷190=3.7×0.1%=9-0.9=0.4×0.2=72÷0.4 2020-07-19 …
如图,在平面直角坐标系xoy中,点A(1,72),点B(3,1),将△OAB绕着点O旋转180°后 2020-08-01 …
2分之1加上6分之1加上12分之1省略号加56分之1加72分之12分之1加上6分之1加上12分之1. 2021-01-15 …