数据结构设计和评价.ppt_第1页
数据结构设计和评价.ppt_第2页
数据结构设计和评价.ppt_第3页
数据结构设计和评价.ppt_第4页
数据结构设计和评价.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构设计和 评价 案例分析(一) 案例分析(一) 数据结构设计案例一: v问题:我校拟开发在校人员信息管理系统 ,主要管理学生成绩信息,老师工资课程 信息,行政人员工资信息等,请设计合适的 数据结构,开发出相应的信息管理系统 该问题的数据结构设计要点 A. 数据节点设计 学生节点:struct student Int studentnumber; char studentname10; float maths; ; 教师节点:struct teacher int teachernumber; Char teachername10; char subjectname10; float salary; ; 行政人员节点: Struct carder Int cardernumber; Char cardername20; Char carderposition10; Float salary; B.数据组织和数据结构管理 v将学生,教师,行政人员数据分别存放在三个数 组中. v用一个结构体类型管理数组的首地址和每个数组 的实际长度 vTypedef struct student *elemstudent; /学生数组首地址 teacher *elemteacher; / 教师数组首地址 carder *elemcarder; / 行政人员数组首地 址 int studentlength;/ 学生数组实际长度 int teacherlength;/ 教师数组实际长度 int carderlength; /行政人员数组实际 长度 int maxsize; /数组最大值 v sqlist;/ 此为管理类型 vB.数据组织和数据结构管理 将学生,教师,行政人员数据分别存放在三个数组中. 用一个结构体类型管理数组的首地址和每个数组的实际 Typedef struct student *elemstudent;/学生数组首地址 teacher *elemteacher;/ 教师数组首地址 carder *elemcarder;/ 行政人员数组首地址 int studentlength;/ 学生数组实际长度 int teacherlength;/ 教师数组实际长度 int carderlength; /行政人员数组实际长度 int maxsize;/数组最大值 sqlist;/ 此为管理类型 C、主题算法设计 v主要算法为: 1.生成空顺序表算法 STATUS initlist_sq(sqlist L.elemteacher=(teacher *)malloc(100*sizeof(teacher); L.elemcarder=(carder *)malloc(100*sizeof(carder); L.studentlength+; L.teacherlength+; L.carderlength+; 有了空表,如何向表中加入数据呢?思考此处的问题与书有何异同 ? 2.数据 生成算法 Status student_ insert(sqlist int i=0; scanf(“%d%s%f”, While(x.studentnumber!=0) L.elemstudenti=x; scanf(“%d%s%f”, i+; L.studentlength=i; return ok; 3.数据的打印 v 数据打印函数设计: 应该设计三个函数,分别打印学生,教师,行 政人员 vVoid studentdataprint(sqlist v for(i=0;iL.studentlength;i+) v printf(“%d%s%f”,L.elemstudenti.studentnumber, v L.elemstudenti.studentname, v L.elemstudenti.maths); v printf(“n”); v /学生数据打印程序结束 v 4.其它算法设计 v其他函数设计。查找,排序函数设计等 主函数设计 v主函数设计 v Void main() v sqlist datastructuremanger;/管理变量 v Struct student x1; v Struct teacher x2; v Struct carder x3; v initlist_sq(datastrcturemanger);/生成空顺序表 v/从键盘读入数据 vPrintf(“n 请读入学生数据”); vstudent_read(datastruremanger);/学生数据读取 v/思考,教师和行政人员的数据如何读? v 能从文件读入吗? v/打印函数调用 vstudentdataprint(datastructuremanger);/学生数据打印 v/其他函数调用 数据结构评价 vA. 算法设计的一致性。 算法中的形参应有数据结构的理者,算法描述应简单 ,有效,各算法基本上风格一致。 有些函数用了管理变量,有些函数不用,这就是风格 的不一致。此外还要注意函数名,标始符的规范一 致性 vB.数据组织和管理效率。 v在组织数据时是采用线性表还是树或图, 要具体问题具体分析。比如要设计一个股 份制家族成员的财务信息管理系统,重点 是管理他们的财务,这时就不能盲目的采 用树去组织每个成员的数据。亲兄弟明算 帐,没必要考虑血缘辈分关系。但要你设 计一个家谱管理系统时,用树结构是最合 适的选择 vC.算法选择 v 在设计部分算法时,有很多方法可 供选择,比如那么多的查找和排序算法, 我们究竟选择那种算法?原则是在兼顾算 法复杂性的情况下,选择那些易读性强的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论