- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计中缀表达式算法最小生成树要点解析
课程设计报告
课程名称: 数据结构课程设计 课程设计题目: 中缀表达式算法、最小生成树 姓 名: 系: 专 业: 年 级: 学 号: 指导教师: 职 称:
年 月 日
课程设计报告结果评定
评语:
评分项目
分值
得分
课程设计报告符合规范
10分
类图、用例图、系统框图合理
30分
主要技术线路正确
30分
设计报告条理清晰、重点突出
20分
有一定创新性、难易程度
10分
成绩: 指导教师签字: 任务下达日期: 评定日期:
目 录
1.设计目的 4
2.主要仪器设备 4
3.设计要求 4
4.设计方案 5
4.1设计一流程图 5
4.2设计二——prim算法流程图 6
4.3设计二——kruskal算法流程图 7
5.设计内容 8
5.1 设计主要算法思想 8
5.2程序主要算法函数说明 8
5.2.1 设计一 8
5.2.2 设计二 10
5.3程序运行结果 15
5.3.1 设计一 15
5.3.2 设计二 18
6.总结 23
参考文献 23
附录:程序源代码 24
设计目的
通过这次课程设计,加深对这一学期所学的算法与数据结构的掌握,使自己所学的知识得到运用。
设计一:
1、理解堆栈的特点和堆栈的存储结构;
2、掌握堆栈的基本操作的实现方法;
3、掌握后缀表达式在计算机中的应用;
4、掌握后缀表达式的生成算法和计算过程;
5、掌握用堆栈实现后缀表达式的生成算法;
设计二:
掌握网络的邻接表存贮结构。
掌握优先队列的基本运算实现。
掌握网络的邻接表的算法实现。
掌握网络的最小生成树Prim或Kruskal算法。
学习并掌握上述的算法的实现及运算过程。
2.主要仪器设备
硬件环境:PC机
软件环境:Visual C++ 6.0
3.设计要求
设计一:设计内容和要求 设计并实现堆栈,利用堆栈实现对后缀表达式的求值
设计二:对任意给定的网络(顶点数和边数自定),建立它的邻接矩阵并输出,然后利用Prim算法或Kruskal算法生成它的最小生成树,并输出结果。
4.设计方案
3.2算法的设计:
后缀表达式运算的思想为依次读入表达式中的每一个字符,若当前字符是运算对象,入对象栈,是运算符时,若这个运算符比栈顶运算符高则入栈,继续向后处理,若这个运算符比栈顶运算符低则从对象栈出栈两个运算量,从算符栈出栈一个运算符进行,并将运算结果入对象栈,继续处理当前字符,直到遇到结束符。
根据运算规则,每个运算符栈内、栈外的级别如下:
算符 栈内级别 栈外级别 ^ 3 4 *、/、% 2 2 +、- 1 1 ( 0 4 ) -1 -1
后缀表达式的结果计算主要涉及的数据结构为栈结构,包括下面一些操作,如进栈、出栈、判断栈是否为空 、及栈是否为满、读栈顶元素等操作
4.2设计二——prim算法
、
是
是
否
4.3设计二——kruskal算法流程图
5.1 设计主要算法思想
设计一:
中缀表达式是最普通的一种书写表达式的方式,而后缀表达式不需要用括号来表示,计算机可简化对后缀表达式的计算过程,而该过程又是栈的一个典型应用。应用栈的知识,求出输入后缀表达式的值
设计二:
设计二:首先考虑网的邻接矩阵的建立,以及邻接表的建立。然后设计一个函数,将网的所有边的权值,以及边的结点信息,按照权值大小,使用插入排序将数据都放入队列中。最后,使用prim算法,和kruskal算法,分别用来生成最小生成树。
Prim算法的方法:
从网中任一顶点开始,先把该顶点包含在生成树中,此时生成树中只有一个顶点。
找出一个端点在生成树中另一端点在生成树外的所有边,并把权值最小的边连同它所关联的另一顶点添加到生成树中;当有两条及以上具有相同最小权值的边可供选择时,选择其中任意一条都可以。
反复执行②,直到所有定点都包含在生成树中时止。
Kruskal算法:
算法按权的大小顺序考察各边。算法每一步所考察到的边,初始化集合A为空集并建立|V|棵树,每棵树包含图的一个结点。根据其权值非递减次序对E的边进行排序。在for循环中首先检查对每条边(u,v)其端点u和v是否属于同一棵树。如果是,则把(u,v)加入森林就会形成回路,所以这时放弃边(u,v)。如果不是,则两结点分属不同的树,把边加入集合A中,同时对两棵树中的结点进行归并。
5.2程序主要算法函数说明
A)结构体
{
struct Stack {
int *stack;
int top;
int MaxSize;
};
B)初始化栈
void InitStack(Stack S)
{
//初始化栈为空
S.MaxSize = 10
您可能关注的文档
- 数据库原理课程设计报告要点解析.doc
- 数据库培训中心信息管理系统课程设计要点解析.doc
- 数据库培训之预处理要点解析.pptx
- 数据库培训高主任要点解析.ppt
- 数据库基本概念要点解析.ppt
- 数据库基础与Access应用表的基本操作(一)要点解析.ppt
- 数据库基础春华第一要点解析.ppt
- 数据库基础知识要点解析.pptx
- 数据库备份与恢复实验要点解析.doc
- 数据库实验二要点解析.doc
- 工会代表大会运行规则及十大制度解读.docx
- 法院合同法案例分析与学习笔记.docx
- 医疗急救口头医嘱管理流程制度.docx
- 幼儿园科学实验教学设计案例.docx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5WhataretheshirtsmadeofSectionA合作探究二课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时4SectionB1a_1d习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit1Howcanwebecomegoodlearners课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5Whataretheshirtsmadeof课时4SectionB1a_1e课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit3Couldyoupleasetellmewheretherestroomsare课时3SectionAGrammarFocus_4c课件新版人教新目标版.pptx
最近下载
- 基于水流影响的砂岩裂缝形成机理及扩展规律实验分析.docx VIP
- 公园绿化养护试题及答案.doc VIP
- 2024年昆士兰缺血缺氧性脑病临床指南解读(节选).pptx VIP
- 三上语文-《阅读要素专项训练》(1).pdf VIP
- 重庆交通大学钢结构课程设计-平台梁.doc VIP
- 2025届高考语文复习:小说复习之散文化小说——以2023年新课标Ⅱ卷高考题《社戏》为例+课件.pptx VIP
- 衡水中学2026届高三年级(四调)考试物理试题(真题含答案解析).docx VIP
- 植物绿化养护试题及答案.doc VIP
- 中国临床肿瘤学会(CSCO)癌症诊疗指南2025.docx VIP
- 半导体材料(大学课件)张源涛-半材第4章总结.doc VIP
原创力文档


文档评论(0)