数据结构与数据库实验课作业和要求实验
一、线性表的应用:稀疏一元多项式运算器实验目的:熟练掌握指针和链表操作的基本功熟练掌握数组操作的基本功模块化程序设计(程序的分层结构、函数的功能和接口)人机交互界面设计(界面美观,使用方便、操作的弹性好)源程序的书写风格(缩进式,加注释,可读性要好)对程序健壮性的处理程序的调试技术训练(debug方法和测试数据的选择)时空效率实验学时:第1,2,3,4次实验完成实验内容:基本功能(必做):1.创建2.显示3.复制4.求和5.求差6.求值7.销毁8.清空9.修改(插入新的结点、删除已有结点、修改已有结点的系数和指数)拓展功能(选做):10.微分(N阶导数)11.不定积分12.定积分13.乘法和乘方14.除法15.最大公约式和最小公倍式16.多项式的四则运算(如“(1+2_)数据组织:多项式用带头结点的单链表表示用指针数组存放N个多项式的头指针存储结构示意图:用户操作界面:推荐用菜单驱动实验
二、栈的应用实验目的:掌握栈的后进先出特点掌握栈的表示和实现技术掌握如何运用栈的特点来构建算法实验内容(在题目16中任选1题):题目1.简单的行编辑器(提高难度:实现对文本文件的编辑)题目2.括号配对检验(提高难度:实现对括号优先级的检测)题目3.波兰式计算(提高难度:操作数为浮点数)题目4.逆波兰式计算(提高难度:操作数为浮点数)题目5.中缀式计算(提高难度:操作数为浮点数)题目6.迷宫求解(提高难度:随机迷宫、最短路径的提取)附加题:一般表达式的计算,即在表达式中包含其他函数的运算,如:2.53_tan(sin(1.2)+cos(3.5)实验学时:第5次实验课当堂完成实验
三、二叉树的运算实验目的:掌握二叉树的递归特性掌握二叉树的常用存储结构-二叉链表掌握二叉树的创建、遍历等基本运算了解递归函数的执行过程,学会编写递归程序实验内容:(在题目
1、2中任选1题)题目1.二叉树运算1.创建二叉树2.遍历二叉树(先序、中序、后序、层序遍历)3.二叉树的计算(二叉树的结点数、叶子数、高度、宽度等)4.二叉树的处理(复制、销毁)题目2.哈夫曼编码和解码1.输入电文串2.统计电文字符集和每种字符在电文中出现的次数3.构建huffman树4.产生每种字符的huffman编码5.将电文串翻译成比特流6.对电文比特流进行解码附加题:用huffman压缩技术实现对文件的压缩和解压缩处理实验学时:第6次实验课当堂完成实验
四、图实验目的:掌握图的两种存储结构:邻接矩阵表示法和邻接表表示法掌握图的DFS遍历和BFS遍历的算法学会利用图的模型来编程解决实际应用问题实验内容:(在题目
1、
2、3中任选1题)题目1.图的遍历1.创建图G(任选邻接矩阵或邻接表)2.显示图3.深度优先搜索遍历图4.广度优先搜索遍历图5.在图中插入顶点6.在图中插入边题目2:求通讯网的最小代价生成树1.输入通讯网G2.用Prim算法构建G的最小生成树并输出3.用Kruskal算法构建G的最小生成树并输出题目3.铁路交通网的最短路径1.输入铁路交通网G2.用Dijkstra算法计算从始发站到终点站的最短路径实验学时:第7次实验课当堂完成实验
五、哈希表实验目的:掌握哈希表的定义和特点掌握哈希函数的构造方法和解决冲突的技术,实现哈希造表掌握哈希表的查找、插入和删除技术掌握哈希表平均查找长度ASL的计算方法实验内容:(1-5必做,其他选做)1.输入关键字序列;2.用除留余数法构建哈希函数,用线性探测法解决冲突,构建哈希表HT1;3.用除留余数法构建哈希函数,用拉链法解决冲突,构建哈希表HT2;4.分别对HT1和HT2计算在等概率情况下查找成功和查找失败的ASL;5.分别在HT1和HT2中查找给定的关键字,给出比较次数6.在HT1中删除指定的关键字7.在HT1中插入新的关键字实验学时:第
8、9次实验课完成实验六数据库SQL语言实验目的:1.熟悉本实验所使用的DBMS环境:SQLSERVER2005,学会使用SQLSERVER客户端工具查询分析器。2.完成SQL语言的基本操作:1)创建表2)插入、删除、修改、查询。3)创建视图实验内容:XXXer客户端工具:XXX,解压后执行XXX,输入192.168.50.211,选择“SQLserver身份验证”,登录名和密码都是student。此外,也可以使用实验室机器桌面上的SQLServerManagementStudioE_press登录。登录后显示如下界面,则可以执行sql语句了。要注意,pubs数据库是系统样例数据库,里面提供了titles等实验中用到的示例表,student用户对其只有查询权,不可以修改。学生可以在student数据库中创建自己的表,创建表时请按照题目中要求的命名规则来命名。在操作数据库是要注意当前数据库是pubs还是student,可以在界面面的combo_选择窗口中选择,也可以使用命令usepubs更改当前数据库。2熟悉pubs数据库中各个table的定义和关系。htt2.168.50.2bs3.查询操作(在pubs数据库中执行):1)无条件查询l查找pub库中authors表的全部信息。2)简单条件查询l查找titles表中全部书号及书名。l查找titles表中价格在$1518元之间的书的书名。l查找titles表中书名以T开头的书号,书名。l对其他样例表构造各种简单查询条件,进行查询。3)多条件查询l查找书名起始字符为T,价格小于$16元的书名及价格。l查找书名起始字符不为T的,价格大于$16元的书号,书名及价格。4)用连接操作(或嵌套查询)进行查询l对表titles,publishers进行查询:查找出版社的名称以及所出的书名。l对表authors,titleauthor,titles进行查询:查找作者的姓、名和所写的书名。5)对查询结果排序l查找作者的姓、名、电话号码,并按作者姓、名排列。l查找书名和书的价格,按书价由大到小的次序排列。6)使用函数进行查找l列出有多少类书。l列出书的定价有多少种。l列出书价最低的书名和书价。l查出书价最高的书名及书价。l列出当年销量的总和。4.表和视图创建及插入1)建表:创建两个表S_和T_,并插入下面内容,其中_是本人的学号(下同)。S_Titleauthort_nopriceQTY计算机原理张XXS309220.80200C语言程序设计李华H129815.30300数据库原理王家树D100722.70150计算机网络高明S569018.90230软件工程鲁廷璋S200535.00200T_t_noPagepub-dateS309XXXX1986D100XXXX1993S500XXXX1987S569XXXX1993H129XXXX92)用子查询方式建新表SS_(包含title和price两个属性)。3)用子查询方式建视图VS_(包含title和QTY两个属性)。5.记录的删除与更新1)删除书名为“计算机网络”的元组。2)把书价调整到原来价格的95%。3)把书号以D开头的那些书的书价减掉2.00元。实验拓展1)创建存储过程。2)编写简单的数据库应用:可以基于ASP、PHP网页。实验学时:第10次实验课当堂完