数据结构课程设计读书工程论文讲解.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计读书工程报告 黑龙江大学 《数据结构课程设计》读书报告 学 院软件学院年 级2011级专 业软件工程学 号姓 名崔雯赫日 期成 绩 黑龙江大学计算机科学技术学院 黑龙江大学软件学院  PAGE \* MERGEFORMAT - 6 - 一、基本理论阐述 在计算机及其应用的各个领域中,都回用到各种各样的数据结构,学会分析研究计算机加工对象的特性,选择和数的数据结构和存储表示,以及编制相应的实现算法,是计算机工作者不可缺少的知识。因此“数据结构”是高等院校计算机专业教学中得一门技术基础课程,在我国当前的计算机专业教学计划中,它是核心课程之一。随着我国进一步的开放,我们需要扩大国际交流,加强学习国外的现金经验。在当前形势下,“数据结构”仍具有重大意义和价值。相辅相成的关系对于培养计算机专业人才有极大的促进关系。 二、当前应用现状 “数据结构——用C语言描述”详细的介绍各种最常用的数据结构,阐述各种数据结构内涵的逻辑关系,讨论他们在计算机中得存储表示,以及在这些数据结构上的运算和时间的执行算法,对于算法的效率进行简要的分析和讨论。 全书包含十章内容:前四章主要介绍几种基本的数据结构,即:线性表、栈、队列、和串,它们均属于线性结构;第五至七章叙述非线性结构,它们是多为数组、广义表、树和图;第八、九章分别介绍数据处理中广泛使用的技术——排序与查找。第十章文件并不在教学大纲(本校)内。 全书既注重原理又重视实践,配有大量的例题和习题,解释比较详细。书中得算法均由C来描述并且能再机器上运行。对于高校计算机专业的学生使用较为合适。 三、对线性结构和最优二叉树部分的体会 数据结构课程设计目的为了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 课程设计(一)学生学籍信息管理系统 此实验主要是对于前4章的运用,对于线性结构的增、删、找、查的操作。在这就对比一下数组,线性表和链表的区别。 数组就是一个连续的存储空间,用下表进行标记区分。 线性表同样是一段连续的存储空间,但是通过相应的定义使其前后连贯,访问则是可以直接访问。 链表是动态的存储空间,并不一定是一段连续的存储空间。但访问需要顺序访问,因为用户永远不知道每一个结点的地址,也无法进行直接访问。 针对于增、删则是对于链表的操作。增加有两种方法:头插法,尾插法。顾名思义头插法就是把新的结点插入在头结点的前面,而尾插法则是把新的结点插入在头结点的后面。这两种方法各有优势。人工建栈的思想与其有相同之处。 查找在此设计中选用了起泡法排序。 最重要的算是文件的应用了。C中文件的读写在此程序中有着举足轻重的意义。对于数据的保存与删改实现了可保留化。 课程设计(二)哈弗曼编码译码器 此课程设计主要是针对于最优二叉树进行实例演练。哈弗曼编码则是通过最优二叉树为基础进而达到ASL最小。 那么在最优二叉树这个知识点上,权值可谓是比较重要的一个点了。对于权值的存储可以使用链表与数组。但通过对比,数组的存储方式更适合。通过权值的比较,进而生成序列。通过左右孩子建立最优二叉树。 四、课程设计过程中的应用与实践 课程设计(一)学生学籍信息管理系统 要求:设计一个学生信息管理系统,实现对学生基本信息的添加、删除、修改和查询等操作,要求为: 多种方式建立学生信息 浏览所有学生信息。 按照学号对所有学生信息进行升序、降序排列,并输出 按姓名、学号等方式,实现对学生信息精确查询、模糊查询,并输出屏幕显示 学生信息的插入、删除、修改。 数据的统计功能 核心代码: void FIND(student *head) //模糊查找 if(head-name[0]==a[0]head-name[1]==a[1]) void delet(student *head) //删除 head-prior-next=head-next; head-next-prior=head-prior; void edit(student *head) // 编辑 void add(student *head) //增加 head-next-prior=p; p-next=head-next; head-next=p; p-prior=head; freopen(学生管理系统.txt,r,stdin);//文件 while(1) cout查找=f 模糊查找=F 删除=

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档