×
暂无评论
图文详情
  • ISBN:9787302505563
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:268
  • 出版时间:2018-06-01
  • 条形码:9787302505563 ; 978-7-302-50556-3

本书特色

《数据结构与算法实验教程》实验分层设计,按照初级、中级和高级设计每部分的实验内容;针对每个实验的常见问题进行总结;3.针对每个实验提出延伸内容,供学生独立设计与实现。

内容简介

本书是与主教材《数据结构与算法》配套的实验教程。第1章介绍了常用开发环境,包括Microsoft Visual Studio 2010和DevC++ 5; 第2~9章的内容分别是线性表、栈和队列、树和二叉树、搜索树、图、字典、排序和字符串。每章的实验分为初级实验、中级实验和高级实验3种类型。每个实验包括实验目的、实验内容、参考代码和扩展延伸4个部分。本书既可以和主教材一起使用,也可以脱离主教材单独使用。 本书可作为高等院校计算机类相关专业的教材,也可作为高职院校计算机类专业的教材,还可作为计算机爱好者的自学教材和从事计算机软件开发的工程技术人员的参考书。

目录


目录



第1章常用开发环境介绍


1.1Microsoft Visual Studio


1.1.1Microsoft Visual Studio的介绍


1.1.2Microsoft Visual Studio的使用


1.2DevC++


1.2.1DevC++的介绍


1.2.2DevC++的使用



第2章线性表


2.1初级实验1


2.2初级实验2


2.3初级实验3


2.4中级实验1


2.5中级实验2


2.6高级实验



第3章栈和队列


3.1初级实验1


3.2初级实验2


3.3初级实验3


3.4初级实验4


3.5中级实验1


3.6中级实验2


3.7高级实验1


3.8高级实验2



第4章树和二叉树


4.1初级实验1


4.2初级实验2


4.3初级实验3


4.4中级实验1


4.5中级实验2


4.6高级实验



第5章搜索树


5.1初级实验1


5.2初级实验2


5.3中级实验


5.4高级实验



第6章图


6.1初级实验1


6.2初级实验2


6.3初级实验3


6.4初级实验4


6.5初级实验5


6.6初级实验6


6.7中级实验1


6.8中级实验2


6.9中级实验3


6.10高级实验


第7章字典


7.1初级实验


7.2中级实验1


7.3中级实验2


7.4高级实验


第8章排序


8.1初级实验


8.2中级实验


8.3高级实验


第9章字符串


9.1初级实验1


9.2初级实验2


9.3中级实验1


9.4中级实验2


9.5高级实验


参考文献



展开全部

节选

第5章搜索树 5.1初级实验1 一、 实验目的 掌握二分查找的过程和算法实现。 二、 实验内容 (1) 实现二分检索算法; (2) 用户输入数据能够判断检索是否成功,如果成功,输出该元素所在位置的信息和比较次数; 如果不成功,若查找的元素不存在,输出比较的次数和插入的位置。 三、 参考代码 1. 本程序的文件结构 图51程序的文件结构图 本程序的文件结构如图51所示,说明如下。 (1) SeqList.h: 顺序表头文件,提供了顺序表类型定义和相关接口说明,同第2章的初级实验1。 (2) SeqList.c: 顺序表接口的具体实现文件,同第2章的初级实验1。 (3) BinSearch.c: 二分检索算法,包括递归和迭代两种方式以及主函数,使用了顺序表,因此需要包含SeqList.h。 2. 二分检索算法的实现 BinSearch.c: 1#include 2#include 3#include "SeqList.h" 4//函数功能:二分检索算法(迭代) 5//参数slist:顺序表 6//参数key:要查找的元素 7//参数pos:如果查找的key不存在,pos记录key应插入的位置 8//返回值:如果元素存在,返回其位置; 如果元素不存在,返回-1,pos记录key应插入的位置 9int binsearch(SeqList slist, int key, int *pos) 10{ 11int index=1; //比较次数 12int mid; 13int low=0; 14int high=slist->n-1; 15while (low 16{ 17mid=(low+high) / 2; 18if (slist->elem[mid]==key) 19{ 20*pos=mid; 21printf("找到,共进行%d次比较\n", index); 22printf("要找的数据%d在位置%d上\n", key, mid); 23return mid; 24} 25else if (slist->elem[mid] > key) 26high=mid-1; 27else 28low=mid+1; 29index++; 30} 31*pos=low; 32printf("没有找到,共进行%d次比较\n", index - 1); 33printf("可将此数插入到位置%d上\n", *pos); 34return -1; 35} 36//函数功能:二分检索算法(递归) 37//参数slist:顺序表 38//参数key:要查找的元素 39//参数low:查找区间的低端位置 40//参数high:查找区间的高端位置 41//参数pos:如果查找的key不存在,pos记录key应插入的位置 42//返回值:如果元素存在,返回其位置; 如果元素不存在,返回-1,pos记录key应插入的位置

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航