- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》实验报告
实验题目: 实验五、查找排序
姓名: 学号: 142054301 班级: 1420543
系名: 计算机工程系 专业: 计算机科学与技术 指导老师:
实验时间: 2016年6月14日 实验地点: 专业软件实验室
【实验概述】
1.实验目的及要求
目的:
1.掌握哈希表的定义,哈希函数的构造方法。
2.掌握并比较各种排序算法。
要求:
预习并掌握查找的概念、静态查找与动态查找、顺序查找、二分查找、索引查找、二叉排序树的概念、平衡二叉树、哈希查找、直接插入排序、快速排序、冒泡排序、简单选择排序等算法思想。
2.实验原理
1、树的逻辑结构特点:树(tree)是n(n≥0)个结点的有限集T,其中:
(1)有且仅有一个特定的结点,称为树的根(root);
(2)当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。
2、树结构中的基本术语,以及树的树形结构表示。
3、二叉树的逻辑结构特点:
1、查找和排序是日常数据处理过程中经常要进行的操作和运算。
2、查找是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录)。若查找表中存在这样一个记录,则称“查找成功”,查找结果:给出整个记录的信息,或指示该记录在查找表中的位置;否则称“查找不成功”,查找结果:给出“空记录”或“空指针”。
3、静态查找与动态查找的区别。平均查找长度。
4、查找算法有:
静态查找中常见的查找算法:顺序查找、二分查找、索引查找。动态查找中常见的算法有二叉排序树和平衡二叉树上的查找。平均查找长度为0的哈希查找。
5、排序是是将一组“无序”的记录序列调整为“有序”的记录序列。
6、排序算法的优劣从空间复杂度、时间复杂度、稳定性三个角度分析。
7、常见的排序算法可分为:插入类、交换类、选择类、归并排序、基数排序等。
3.实验环境(使用的软件)
VC++6.0
【实验内容】
实验算法设计
设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、成绩等信息。要求实现以下功能:
1、查找:分别给定学生学号、姓名,能够查找到学生的基本信息(要求至少实现改进后的顺序查找算法);
2、排序:分别按学生的学号、成绩进行排序(要求至少用实现直接插入排序、冒泡排序、简单选择排序算法)。
2.实验过程(源代码及描述、调试过程及分析)
#includeiostream
#includestring
using namespace std;
struct student
{
int num; //学号
char name[20]; //姓名
char banji[20]; //班级
int c; //C语言课程成绩
int datastruct; //数据结构课程成绩
};
struct queue
{
struct student a[8];
int lenth;
};
class list
{
private:
queue d;
public:
int seqsearch(list,char *);
int binsearch(list,int,int,int);
void insertsort(list);
void selectsort(list);
void bubblesort(list);
list();
void display(list);
void show(int);
};
list::list()
{
struct student e[8]={
{1,王丽,03511,85,76},
{2,张秋,03511,78,77},
{3,刘丽,03511,90,79},
{4,王童,03511,75,86},
{5,赵阳,03511,60,71},
{6,李艳,03511,58,68},
{7,钱娜,03511,95,89},
{8,孙胜,03511,45,60},
};
for(int i=0;i8;i++)
d.a[i]=e[i];
}
void list::show(int i)
{
if(i==-1)
coutsorry not found!!endl;
else
{
cout学号班级c
原创力文档


文档评论(0)