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