- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构课程设计报告
课程名称
题目名称学生学院专业班级学号
学生姓名指导教师
2010 年 7 月8日
一、 需求分析
图书管理系统中图书管理模块包括图书类型定义:书号、现存量、总存量,出版时间为整型,定价为浮点型,书名、著者名为字符型,借阅指针、预约指针为读者类型;读者类型定义:证号为整型、姓名为字符型,另外借阅类型和预约类型组合成其中的共用体类型。B树(2-3树)类型定义:关键字个数和关键字数组为整型、另外还有指向双亲的指针、指向子树的指针、记录单元指针;B树查找结果类型定义:节点指针、关键字序号和查找标志变量为整型。
演示程序以用户和计算机的对话方式进行,在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在后面。该演示系统,没有使用文件,全部数据放在内存存放。四项基本业务都以书号为关键字进行的,采用了B树(2-3树)对书号建立索引,以提高效率。
图书管理系统实现功能:
①采编入库:新书购入,将书号、书名、著者、册数、出版时间添加入图书账目中去,如果这种书在帐中已有,则只将总库存量增加,每新增一个书号则以凹入表的形式显示B树现状。
②清除库存:实现某本书的全部信息删除操作,每清除一个书号则已以凹入表的形式显示B树现状。
③图书借阅:如果书的库存量大于零时则执行出借,登记借阅者的图书证号和姓名,系统自动抓取当前借阅时间和计算归还时间。
④图书预约:如果某书库存为零,则记录预约者姓名和证号,系统自动抓取当前预约时间和取书时间。
⑤图书归还:注销借阅者信息,并改变该书的现存量。
⑥作者专区:输入作者名字,系统将查找相应作者全部著作并显示出来。
⑦图书信息:可以根据书号查阅此书基本信息、借阅信息和预约信息,亦可以查找全部图书基本信息。
二、 概要设计
1.抽象数据类型B树定义:
ADT BTree{
数据对象:D是具有相同特性的数据元素的集合。各个数据元素均含有类型相同,可惟一标识数据元素的关键字。
数据关系:数据元素同属于一个集合并且:
一棵m阶的B树,或为空,或为满足下列特性的m叉树:树中每个结点至多有m棵子树;
若根结点不是叶子结点,则至少有两棵子树;
除根之外的所有非终端结点至少有m/2(取上限)棵子树;所有的非终端结点包含下列信息数据:(n,A0,K1,A1,K2,A2,K3,……,Kn,An)
其中:Ki(i=1,2,……n)为关键字,且KiKi+1(i=1,2,……n-1);Ai(i=0,……n)
为指向子树根结点的指针,且指针Ai-1所指子树中所有结点的关键字均小于K(ii=1,2,……
n),An所指子树中所有结点的关键字均大于Kn,n(m/2(取上限)-1=n=m-1)为关键字的个数
基本操作:
SearchBTree(T,key);
初始条件:B树T存在,key为和关键字类型相同的给定值。
操作结果:若T中存在关键字等于key的数据元素,则返回该元素的值或在表中的位置,否则返回“空”。
Insert(T,i,k,P,recptr)
初始条件:B树q和p存在,i、k是指定变量,recptr指针有效
操作结果:将k和ap分别插入到q-key[i+1]和q-ptr[i+1],并插入关键字为k的记录recptrInsertBTree(T,e);
初始条件:B树T存在,e为待插入的数据元素。
操作结果:若T中步存在关键字等于e.key的数据元素,则插入e到T中。DeleteBTree(T,key);
初始条件:B树T存在,key为和关键字类型相同的给定值。操作结果:若T中存在其关键字等于key的数据元素,则删除之
BTreeTraverse(BTreeT,Visit)
初始条件:B树T存在,Visit是对T结点的函数操作结果:遍历B树T,对每个结点调用Visit函数
ShowBTree(T);
初始条件:B树T存在。
操作结果:以凹入表形式显示B树T。
}ADT BTree
2.系统时间类型定义:
ADT Time{
数据对象:D={TM是各种整型类型的系统时间格式定义}数据关系:数据元素同属一个集合
基本操作:
GetDate(tmtim)
初始条件:系统时间运行
操作结果:获取系统时间,赋予tm变量tim
AddDate(tmdate2,tmdate1,intday)
初始条件:系统时间date2、date1、day存在
操作结果:把date1
您可能关注的文档
- 数码打样最终版.docx
- 数列知识点总结及题型归纳含答案.docx
- 数列知识点总结.docx
- 数列选择题填空题专项练习.docx
- 数列通项、数列前n项和的求法例题练习.docx
- 数列求和练习题版.docx
- 数列求和练习题.docx
- 数列求和大题专训版.docx
- 数列前n项和的求法总结.docx
- 数列简单练习题.docx
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)