算法设计作业内容:所有操作的函数头已经给出,分别写出函数体。
1)已知单链表L,设计算法求单链表的表长。 int ListLength ( LinkList L )
2)设计一个算法,求顺序表中值最大的结点的值。 int Max (SqList L )
3)设计一个算法,求单链表中值最大的结点的值。 int Max (LinkList L )
4)设计一个算法,删除数组s中的最大元素。 void DeleteMax (int s[], int n)
5)设计一个算法,删除单链表中值最大的结点。 void DeleteMax (LinkList L )
6)设计算法删除单链表L中所有值为x的结点。 void DeleteX (LinkList L, int x )
|
|
|
|
实验目的:
1、理解什么是顺序表;
2、掌握顺序表的基本操作,如建立、查找、插入和删除等。
实验内容:
定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息;
(2) 逐个显示学生表中所有学生的相关信息;
(3) 根据姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);
(5) 给定一个学生信息,插入到表中指定的位置;
(6) 删除指定位置的学生记录;
(7) 统计表中学生个数。
|
|
一、实验目的
熟悉栈的顺序表示与实现。
熟悉栈的应用。
理解并掌握递归函数的设计与实现。
二、实验内容
1 问题描述:利用栈实现十进制数n转化为d(分别是2,8,16)进制数
要求:
输入一个n和d,打印输出d进制数序列。
利用顺序栈来实现十进制数n转化为其他d进制数。此时,需要同时实现初始化空栈、入栈、出栈、判栈空等辅助功能。
测试数据:
8进制:输入n:1348 输出:2504
2进制:输入n:1348 输出:101 0100 0100
16进制:输入n:1348 输出:544
|
|
【 实验目的 】
1、 掌握用 VC 工具上机调试循环队列的基本方法;
2、 掌握循环队列的基本操作,循环队列初始化、入队、出队、判断队空、判断队满
以及求队列长度操作;
3、 掌握队列的先进先出运算规则及其在病人看病模拟程序中的应用,理解队列在运算过程
中状态的变化。
【 实验要求 】
|
|
一、实验目的
1.掌握二叉树树的结构及非线性特点,递归特点和动态性。
2.巩固对指针的使用和二叉树的三种遍历方法、建立方法。
二、实验内容
二叉树的实现和运算
预习报告:
首先是树的节点的声明
typedef struct BitNode {
//节点存放char类型的数据
char data;
//声明两个节点类型的左指针和右指针
struct BitNode lchild,rchild;
}*BitTree;
先序建立二叉树BinTreeCreat的方法,首先本算法要在叶子结点下
输入#来代表下面没有节点了,所以先获取输入节点的值,如果该节点
的值为#,那么该节点的子树为空,如果该节点的值不为#,那么
递归的建立左子树右子树。
先序遍历二叉树BinTraverse方法,首先应该判断输入的树是否为
不为空就输出该节点的值,递归的输出左子树和右子树的值
求二叉树的深度BinTreeDepth函数的设计思路为:首先声明一个
int类型的变量depthval,判断二叉树是否为空,不为空就
递归的调用该方法求左子树右子树的深度,求完的时候还要
在 depthLeft和depthRight中求最大值还要+1,该结果就是
二叉树的深度。
求二叉树中所有结点数的BinTreeCount方法,首先要声明int
类型的变量node,和求二叉树的深度的函数的设计方法相似,
判断二叉树是否为空,不为空就递归的调用该方法求左子树右
子树的节点,最后总的节点数为左子树+右子树+1。
|
|
实验目的 :
掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;掌握 DFS 及
BFS 对图的遍历操作。
实验要求:
采用邻接矩阵作为图的存储结构,完成有向图和无向图的 DFS 和 BFS 操作。
实验主要步骤:
设计一个有向图和一个无向图,任选一种存储结构,完成有向图和无向图的 DFS(深度优
先遍历)和 BFS(广度优先遍历)的操作。
|
|
【 实验目的 】
本次实习的主要目的在于熟悉顺序表和有序表的查找方法和特点。其中以熟悉各种顺序表的
操作为侧重点。通过本次实习还可帮助读者复习高级语言的使用方法。
【实验要求】
【问题描述】
①建立一个查找表,使用顺序查找算法对其元素进行查找,并输出查找时比较的元素和最
终的比较的次数。如果没有找到,则把该元素插入到该查找表中。
②建立一个有序查找表,使用二分查找算法对其元素进行查找,并输出查找时比较的元素
和最终的比较的次数;如果没有找到,则把该元素插入到该查找表中。
【基本要求】
查找过程中,同时输出查找时比较的元素和最终的比较的次数,当没有找到元素时输出
“没有此元素”,然后把该元素插入到该查找表中;否则输出此元素在查找表中的位置。
【测试数据】
1、查找表中的元素{1,5,7,2,8,9,6,0,4,3},查找元素为 8,查找元素 10。
2、查找表中的元素{0,1,2,3,4,5,6,7,8,9},查找元素为 8,查找元素 10。
|
|
【 实验目的 】
1. 掌握常见的排序算法的思想及其适用条件。
2. 掌握常见的排序算法的程序实现。
【实验要求】
输入一组关键字序列分别实现下列排序: :
|
|