习题: 1.设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局: 然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,。,如此反复直到 所有的人都出局为止。下面要解决的 Josephus问题是:对于任意给定的n,和m,求出 这n个人的出局序列。请以n=9,s=3,m=4为例,模拟 Josephus的求解过程求问题的解。 (用循环链表) 2.设ha和hb分别是两个带表头结点的非递减有序单链表的表头指针,设计一个算法,将 这两个有序链表合并成一个非递减有序单链表。 3.设计一个算法,通过一趟遍历在单链表中确定最大的结点 4.已知一颗完全二叉树存放于一个一维数组Tn中,Tm中存放的是各结点的值。设计 个算法,从T0开始顺序读出各结点的值,并用建立二叉链表表示该二叉树 5.依次输入以下数据序列:56,78,34,45,85,36,91,84,78 试构造一颗二叉排序树。 6.用C语言实现对序列:12,20,51,15,73,34,46,88进行快速排序 7.设计一个学生基本信息和选课数据库,熟悉用SQL语言进行数据查询和修改
习题: 1. 设 n 个人围坐在一个圆桌周围,现在从第 s 个人开始报数,数到第 m 个人,让他出局; 然后从出局的下一个人重新开始报数,数到第 m 个人,再让他出局,。。。,如此反复直到 所有的人都出局为止。下面要解决的 Josephus 问题是:对于任意给定的 n,s 和 m,求出 这 n 个人的出局序列。请以 n=9,s=3,m=4 为例,模拟 Josephus 的求解过程求问题的解。 (用循环链表) 2. 设 ha 和 hb 分别是两个带表头结点的非递减有序单链表的表头指针,设计一个算法,将 这两个有序链表合并成一个非递减有序单链表。 3. 设计一个算法,通过一趟遍历在单链表中确定最大的结点。 4. 已知一颗完全二叉树存放于一个一维数组 T[n]中,T[n]中存放的是各结点的值。设计一 个算法,从 T[0]开始顺序读出各结点的值,并用建立二叉链表表示该二叉树。 5. 依次输入以下数据序列:56,78,34,45,85,36,91,84,78 试构造一颗二叉排序树。 6. 用 C 语言实现对序列:12,20,51,15,73,34,46,88 进行快速排序。 7. 设计一个学生基本信息和选课数据库,熟悉用 SQL 语言进行数据查询和修改