以下是用类C语言写出的算法,该算法将以二叉链表存储的二叉树中的叶子结点按从左到右的顺序链成一
设有向图G的十字链表已建立,用C语言函数形式写出求图中各顶点度的算法:COUNT_D(G[n],D[n]),G[n]为顶点表,D[n]为存放各顶点度的数组,n为图中顶点的个数。【北京科技大学2005四、2(10分)】
请设计一个图的抽象数据类型(只需要用类Pascal或类C/C++语言给出其主要功能函数或过程的接口说明,不需要指定存储结构,也不需要写出函数或过程的实现方法),利用抽象数据类型所提供的函数或过程编写图的广度优先周游算法。算法不应该涉及具体的存储结构,也不允许不通过函数或过程而直接引用图结构的数据成员,抽象数据类型和算法都应该加足够的注释。【北京大学1999二、1(10分)】
一个四次多项式方程x4-21x3+147x2-379x+252=0,试求:
(1)用牛顿-拉夫逊法和手算法求该方程的一个根。设初始估计值为x(0)=0,迭代到|△x(k)|<0.001为止。
(2)写出MATLAB程序,利用牛顿-拉夫逊法求该方程的根。程序要求用户输入初始估计值,设输入初始估计值为0,3,6,10。
(3)利用MATLAB中函数r=roots(A)验证答案。A为包含多项式系数(降序排列)的列向量。
有关堆排序:(1)给出堆的定义及其数据结构定义;(2)给出堆排序算法的基本思想,并以图例予以说明(要求不少于6个待排序元素);(3)用伪语言描述该算法;(4)给出算法在最坏情况下的时间复杂性分析。【中南大学2005五、1(20分)】
已知二叉树T,试写出复制该二叉树的算法(t→T) (1)(8分)递归算法 (2)(12分)非递归算法 【北方交通大学1993七(20分)】
已知list是指向无头结点的单链表的指针变量,写出删除该链表下标为i的(第i+1个)结点的算法。