注意:此页面搜索的是所有试题
河南理工大学数据结构
m阶B-树的非叶结点至少有m/2 (m为偶数)或m/2+1(m为奇数)棵子树。
A.正确
B.错误

对22个记录的有序表作折半查找,查找失败时,至少需要比较___个关键字。
试以单链表为存储结构,实现简单选择排序算法
有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按上升序进行排序,请写出这种排序的算法。(注:双向冒泡排序即相邻两趟排序向相反方向冒泡)。
设有顺序放置的n个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红,白,蓝之一。要求重新安排这些砾石,使得所有红色砾石在前,所有白色砾石居中,所有蓝色砾石居后,重新安排时对每粒砾石的颜色只能看一次,并且只允许交换操作来调整砾石的位置。
编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求: ① 采用顺序存储结构,至多使用一个记录的辅助存储空间; ② 算法的时间复杂度为O(n)。
借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于key的记录。设此组记录存放于数组r[l..n]中。若查找成功,则输出该记录在r数组中的位置及其值,否则显示“not find”信息。请简要说明算法思想并编写算法。
有一种简单的排序算法,叫做计数排序。这种排序算法对一个待排序的表进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键字比该记录的关键字小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。 ① 给出适用于计数排序的顺序表定义; ② 编写实现计数排序的算法; ③ 对于有n个记录的表,关键字比较次数是多少? ④ 与简单选择排序相比较,这种方法是否更好?为什么?
快速排序是最好的一程排序方法
A.正确
B.错误

设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为
利用8255A(端口地址为60H~63H)与打印机相连,完成打印控制功能。8255A的A口作为数据口与打印机连接,采用向量中断方式(连接到8259的IR5)完成工作。设与打印机的连接信号仅有STB#和BUSY两个;8259端口地址为20H~21H,且8259的初始化已经由BIOS程序完成,其ICW2为0AH;8255芯片译码采用74LS138芯片完成。 1、 画出连接电路原理图和译码电路图,并说明设计思路。 2、编写完整的打印驱动程序。
8088和8086的比较

Tw状态的含义。
假设线性表的顺序存储结构类型定义如下: typedef int ElemType ; typedef struct { ElemType *elem; // 存储空间基址 int length; // 线性表当前长度 int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位) } SqList; 下面类_C算法的功能是:将顺序存储的非空线性表L中值最大的元素取出插在第一个元素前的类_C算法,例如:对于线性表(20,3,6,18,45,22,47,23),操作的结果是:(47,20,3,6,18,45,22,23),请填空。(注:假设线性表中的元素各不相同,必要处写出注释) void Sq_Max_Insert(SqList &L)//L为顺序存储的非空线性表 { } // Sq_Max_Insert
设二叉树以二叉链表的形式存储,有关类型定义如下: typedef struct BiTNode { // 结点结构 int data; struct BiTNode *lchild, *rchild; // 左右孩子指针 } BiTNode, *BiTree; 下面是求二叉树上叶子结点个数的类_C算法,请填空。 int Leaf_number ( BiTree T ) //T是树的根结点的指针 { } // Leaf_number