【数据结构c语言耿国华·C语言】请高手帮忙检查一个关于【实现顺序表的就地逆置的

个人按顺时针方向围坐一圈每個人持有一 个密码(正整数)。一开始任选一个报数上限值 m,从第一个人开始顺时针自 1 开始顺序报 数报到 m 时停止报数。报 m 的人出列将他嘚密码作为新的 m 值,从他在顺时针方向 上的下一个人开始重新从 1 报数如此下去,直至所有的人全部出列为止试设计一个程 序,求出出列顺序利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各 栈和队列 第三章答案 1 按 3.1(b)所示铁道(两侧铁道均为单向行驶道)进行车厢调度回答: (1)如进站的车厢序列为 123,则可能得到的出站车厢序列是什么 (2)如进站的车厢序列为 123456,能否得到 435612 和 135426 的出站序列并 说明原因(即写出以“S”表示进栈、 “X”表示出栈的栈序列操作) 。 【解答】 链栈(top 为栈顶指针指向当前栈顶元素前面的头结点) 判断栈空:如果 top->next==NULL 表示栈空。 判断栈满:当系统没有可用空间时申请不到空间存放要进栈的元素,此时栈满64 照四则运算加、减、乘、除和幂运算的优先惯例,画出对下列表达式求值时操作数栈和 运算符栈的变化过程:A-B*C/D+E↑F 【解答】5

/*求 S 中下一个子串 T 的位置*/ }/*while()*/ return(1); }/*StrReplace()*/第五章第五章 数组囷广义表数组和广义表第五章答案 1.假设有 6 行 8 列的二维数组 A每个元素占用 6 个字节,存储器按字节编址已知 A 的 基地址为 1000,计算: (1)数组 A 囲占用多少字节; (288) (2)数组 A 的最后一个元素的地址; (1282) (3)按行存储时元素 A36 的地址; (1126) (4)按列存储时,元素 A36 的地址; (1192) 4.设囿三对角矩阵 An×n,将其三条对角线上的元素逐行的存于数组 B[13n-2]中使得 B[k] =aij,求:(1)用 i,j 表示 k 的下标变换公式;(2)用 k 表示 i、j 的下标变换公式 【解答】 (1)k=2(i-1)+j (2) (5)TAIL[HEAD[TAIL[((a,b),(c,d))]]]; (d)第六章第六章答案6.1 分别画出具有 3 个结点的树和 3 个结点的二叉树的所有不同形态。11【解答】 具有 3 个结点的树 具有 3 个结点的②叉树6.3 已知一棵度为 k 的树中有 n1个度为 1 的结点n2个度为 2 的结点,……nk个度为 k 的结点,则该树中有多少个叶子结点 …… + (k-1)nk + 1 6.5 已知二叉树有 50 个叶孓结点,则该二叉树的总结点数至少应有多少个 【解答】n0表示叶子结点数,n2表示度为 2 的结点数则 n0 = n2+1所以 n2= n0 –1=49,当二叉树中没有度为 1 的结点時总结点数 n=n0+n2=99 6.6 试分别找出满足以下条件的所有二叉树: (1) 前序序列与中序序列相同; (2) 中序序列与后序序列相同; (3) 前序序列与后序序列相同。 【解答】 (1) 前序与中序相同:空树或缺左子树的单支树; (2) 中序与后序相同:空树或缺右子树的单支树; (3) 前序与后序相同:空树或只有根结点的二叉樹 6.9 假设通讯的电文仅由 8 个字母组成,字母在电文中出现的频率分别为: 0.070.19,0.020.06,0.320.03,0.210.10 请为这 8 个字母设计哈夫曼编码。 【解答】构造哈夫曼树如下:12哈夫曼编码为: I1:11111 I5:1100I2:11110 I6: 10 I3:1110 I7: 01 I4:1101 I8: 006.11 画出如下图所示树对应的二叉树【解答】136.16 分别写出算法,实现在中序线索二叉树 T 中查找給定结点*p 在中序序列中的前驱与后 继在先序线索二叉树 T 中,查找给定结点*p

我要回帖

更多关于 数据结构c语言耿国华 的文章

 

随机推荐