问答题假设二叉树T的各个元素值均不相同,设计一个递归算法按递减次序打印各元素值,用C语言描述二叉树的结构,用文字说明算法思想,并写出算法。【北京交通大学2005八(10分)】
问答题
问答题采用顺序结构存储串,编写一个实现串通配符匹配的函数pattern_index(),其中的通配符只有'?',它可以和任一字符匹配成功,例如,pattern_index("?re","there are")返回的结果是3。
问答题设一个由字母组成的字符串,编写算法对它们的字母顺序进行调整,使输出时所有大写字母都在小写字母之前,并且同类字母之间的相对位置颠倒。【华南理工大学2005年】例如:原有字符串为AbcDEfiglfiJKlmn,输出序列为KJEDAnmlihgfcb。
问答题数据结构是一门研究什么内容的学科?【燕山大学1999二、1(4分)】
问答题利用广义表的GetHead和GetTail操作,从广义表L=((apple,pear),(banana,orange))中分离出原子bananad的函数表达式是__________。【山东大学200l三、6(2分)】
问答题编写逆向输出不带头结点的单向链表中数据域的递归算法。设表中有4个结点,从表头至表尾其数据域分别为10,30,20,40,作图表示出该算法的执行过程。设该链表的结点的数据类型的名称为list,结点的数据域和指针域的名称分别为data和next,不必写出list的定义。【中南大学2005四、3(10分)】
问答题设定解问题有光滑解u(x,t),其中φ(0)=α(0).将区间[0,1]作m等分,区间[0,T]作n等分,记h=1/m,τ=T/n,xi=ih,0≤i≤m,tk=kτ,0≤k≤n.建立定解问题的差分格式1)给出上述差分格式的截断误差表达式2)如果α(t)≡0,证明:当s=τ/h≤1时,差分格式的解有下面的先验估计‖uk‖∞≤‖u0‖∞+,1≤k≤n,其中证明:当s≤1时差分格式的解在∞范数下是一阶收敛的.
问答题设a,b,c三个元素的进栈次序是a,b,c,符号PUSH:与POP分别表示对堆栈进行一次进栈操作与一次出栈操作。(1)请分别写出所有可能的出栈序列以及获得该出栈序列的操作序列;(2)指出不可能出现的出栈序列。【北京航空航天大学2007一、1(3分)】
问答题设有顺序放置的n个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红、白、蓝之一。要求重新安排这些砾石,使得所有红色砾石在前,所有白色砾石居中,所有蓝色砾石居后,重新安排时对每粒砾石的颜色只能看一次,并且只允许交换操作来调整砾石的位置。【上海大学1999年】
问答题写出按后序序列遍历中序线索树的算法。【东南大学2000六(15分)】
问答题对于具有n个叶子结点,且所有非叶子结点都有左、右孩子的二叉树,(1)试问这种二叉树的结点总数是多少?(5分)(2)试证明。其中:lt表示第i个叶子结点所在的层号(设根结点所在层号为1)。(10分)【北方交通大学1995三(15分)】
问答题试写一算法;判断以邻接表方式存储的有向图中是否存在由顶点V
i
到顶点V
j
的路径(i<>j)。注意:算法中涉及的图的基本操作必须在存储结构上实现。【哈尔滨工业大学2001九(12分)】
问答题下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
#include
void convert(char*a,int n)
{int i ;
if(i=n/10)convert(__________,i);
*a=____________________;
}
main()
{int number;char str[10]=”
scanf(”%d”,&number); ,
convert(str,number);puts(str);
}
【浙江大学2004一、6(40/6分)】
问答题有一种简单的排序算法,叫做计数排序(CountSorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为C。
问答题在从实地址方式切换到保护虚地址方式时要做哪些准备工作?
问答题用类Pascal语言编写一非递归算法,求二叉树上叶子结点的数量。二叉树用二叉链表存储,左指针定义为lchild,右指针定义为rchild。【燕山大学2000七、2(8分)】
问答题写出在中序线索二叉树中找指定结点在后序下的前驱结点的算法。【河海大学1998七(10分)】
问答题下列算法实现求采用顺序结构存储的串s和串t的一个最长公共子串。
void maxcomstr(order8tring*s, *t, int index,length)
(int i,j,k,lengthl,con;
index=0;length=0;i=1;
while(ilength) ( index=i; length=length1; )
(3) ;
}
else(4);
}
(5)
} }
【上海大学2000一、2(10分)】
问答题编程实现:X=(A×B+C)/D运算。其中A、B、C、D均为16位二进制数。
