计算机软件基础第二章课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知线性表L(a1,a2,…,an)元素按递增有序排列,用向量作存储结构,试编写算法:删除表中在c与d(c≤d)之间的元素。
解:dele(L,n,c,d) 1. k=0
2. for i=1 to n
3. if L[i]≥. L[i]≤d
4. k←k+1
5. endif
6. if L[i]>d
7. L[i-k]←L[i]
8. endif
9. endfor
10. n←n-k
11. return
有一铁路交换站如题图(栈),火车从右边开进交换站,然后再开到左边,每节车厢均有编号如1,2,3,…,n。请问:
(1)当n=3和n=4时有哪几种排序方式哪几种排序方式不可能发生
(2)当n=6时,325641这样的排列是否能发生154623的排列是否能发生
N=3时可能的出栈序列:
123 1S1X2S2X3S3X
132 1S1X2S3S3X2X
213 1S2S2X1X3S3X
231 1S2S2X3S3X1X
312 CAB
321 1S2S3S3X2X1X
N=4
,不可能的排列: 4312 4213 4231 4123 4132 3124 3142 3412 1423 2413
N=6时,325641可能 154623不可能
试画出表达式A*(B-D)/D+C**(E*F)执行过程中NS,OS栈的变化情况。
B-D=T1 D/T1=T2 T2*A=T3 E*F=T4 T4**C=T5 T5+T3=T6
D) B-
(
* A;
C +
T
2
*
A ;
F
E
*
C
T
3
;
T
4
*
*
C +
T
3
;
;
T
5
+
T
3
;
D /
T
1
*
A ;
;
T
6
;
用三元组和带行辅助向量形式表示下列稀疏矩阵: (1):⎥⎥
⎥
⎥⎥
⎥⎥
⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎢
⎢⎣⎡--000280
0000091000000006000
000311
0150220
015 (2):
⎥⎥⎥
⎥
⎥⎥
⎥
⎥⎥
⎥
⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢
⎢⎢⎢
⎢⎢
⎢⎣
⎡---3000602001200000000
700000400
000000002
0000000120004000200
000030403005000600152600013000
8 (1):三元组 带行辅助向量
三元组 行列值 1 1
8
1
5 -13 1 9 2
6 2
1
1
行列值 1 1
15 1 4 22
1 6 -15
2 2 1
1 2 3 3 3 4 -6 5 1 9
1 6
3 2
8
i 123456P OS
146778N UM
3
2
1
1
1
J
前8行:1+2+4+8+16+32+64+128+256=511
第9行:满的尾512 加起来超过1000
1000-511=489这是第9行的度为1的结点
489/2=244余1
256-244=12 12-1=11 这是第8行度为1的结点 则度为1的结点数:n1=489+11=500 度为2的结点数:n2=n1-1=499 度为0的节点数:n0=1 1个节点只有非空左子树 11个结点只有非空右子树
第一种做法: N1=0/1,N 是奇?N1=0;N 是偶?N1=1 N=1000,N1=1 1000=N0+1+N2 1 N0=N2+1 2 N0=500,N2=499
第二法: N=1000,29 设一棵二叉树其中序和后序遍历为 中序:BDCEAFHG 后序:DECBHGFA 画出这棵二叉树的逻辑结构,并写出先序遍历结果。 先序遍历:ABCDEFGH 其逻辑结构如下: 1,2,3依次进栈,求可能的出栈序列。 123 1S1X2S2X3S3X G 132 1S1X2S3S3X2X 213 1S2S2X1X3S3X 231 1S2S2X3S3X1X 312 CAB 321 1S2S3S3X2X1X 1,2,3,4 4312 4213 4231 4123 4132 3124 3142 3412 1423 2413 325641 154623 完全二叉树有1000个结点,问: