自考题库
首页
所有科目
自考历年真题
考试分类
关于本站
游客
账号设置
退出登录
注册
登录
出自:河南理工大学数据结构
编写算法,对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
)已知单链表中结点结构定义如下: typedef int ElemType ; typedef struct LNode { ElemType data; struct LNode *next; } LNode, *Linklist 下面是将带头结点的单链有L中值为x的元素全部删除的类_C算法,例如:如果线性表为(20,3,6,18,45,22,18,23),x=18,则操作的结果是:(20,3,6, 45,22,23),请填空。(必要处写出注释) void del_linklist_x ( Linklist &L ,int x)//L为一个带头结点的非空单链表的头指针 { } // del_linklist_x
已知栈的顺序存储结构定义如下: typedef int SElemType ; typedef struct { SElemType *base; // 栈底指针 SElemType *top; // 栈顶指针 int stacksize; // 当前已分配的存储空间,以元素为单位 } SqStack; 下面是依次弹出栈中的所有元素、并逐个输出的类C_算法,操作的结果使栈变成空栈,请填空。(在必要处写出注释) void Pop_Print_Sq(SqStack &S) { }// Pop_Print_Sq
设二叉树以二叉链表的形式存储,有关类型定义如下: typedef struct BiTNode { // 结点结构 int data; struct BiTNode *lchild, *rchild; // 左右孩子指针 } BiTNode, *BiTree; 下面是求二叉树上各结点值的和的类_C算法,请填空。 int Sum_value( BiTree T ) //T是二叉树的根结点的指针 { } // Sum_value
首页
<上一页
1
2
3
4
5
下一页>
尾页