- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》是计算机学科的核心课程,是一门专业技术基础课。 学科目的:了解数据对象的特性,学会数据组织的方法和把现实世界中的问题在计算机内部表示的方法;及培养基本的、良好的程序设计技能。 先修课程:计算机文化基础 C语言程序设计 一、计算机解决问题的步骤 问题?(分析)?(数学)模型?(技巧)?算法?(语言)?程序?调试、运行 例一、书目自动检索系统 例二、人机对奕问题 设某田径比赛共有六个比赛项目,规定每个选手至多可参加三个项目,有五人报名参加比赛(如下表所示)。设计比赛日程表,使得比赛能在尽可能短的时间内完成。 (1)设用如下六个不同的代号代表不同的项目: 跳高 跳远 标枪 铅球 100米 200米 A B C D E F (2)用顶点代表比赛项目 (3)在不能同时进行比赛的顶点之间连上一条边 (同一选手参加的项目之间必定有边相连) (4)给顶点涂色:任何有边相连的顶点不能涂 同一种颜色,且使涂色数目尽量少 例四、多叉路口交通灯管理问题 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。 例1 一个不是算法的例子 (1)begin (2)n=1 (3)n=n+1 (4)repeat (3) (5)end 例2 一个不超过100次计数的算法 (1)begin (2)n=1 (3)n=n+1 (4)if n=100 do (5),else repeat(3) (5)output n (6)end 第一章内容到此结束… 作 业 要求: 独立完成 写在作业本上 每周五交作业 void polyvalue(){??float co; // co:coefficient 系数?? printf(Input number of terms:);??scanf(%d,n);??printf(Input value of x:);??scanf(%f,x);??printf(Input the %d coefficients from a0 to a%d:\n,n+1,n);??xp=1;sum=0; //xp用于存放x的i次方??for(i=0;i=n;i++)??{????scanf(%f, co); ????sum+=xp*(co);????xp*=x;??}??printf(Value is:%f,sum);}//polyvalue 1.正确性 首先,算法应当满足以特定的“规格说明”方式给出的需求。 其次,对算法是否“正确”的理解可以有以下四个层次: c.程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果; 通常以第 c 层意义的正确性作为衡量一个算法是否合格的标准。 d.程序对于一切合法的输入数据都能得出满足要求 的结果; a.程序中不含语法错误; b.程序对于几组输入数据能够得出满足要求的结果; 2. 可读性 算法主要是为了人的阅读与交流, 其次才是为计算机执行。因此算法应该易于人的理解;另一方面,晦涩难读的程序易于隐藏较多错误而难以调试; 例:a = a+b; b = a-b; a = a-b ; ? a?b 3.健壮性 当输入的数据非法时,算法应当恰当地作出反映或进行相应处理,而不是产生莫名奇妙的输出结果。并且,处理出错的方法不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理。 4.高效率与低存储量需求 通常,效率指的是算法执行 时间;存储量指的是算法执行过程 中所需的最大存储空间。两者都与 问题的规模有关。 三、算法效率的度量方法和准则 通常有两种度量算法效率的方法: 事后统计法 事前分析估算法 缺点:1、必须执行程序 2、其它因素掩盖算法本质 与算法执行时间相关的因素: 1.算法选用的策略 2.问题的规模 3.编写程序的语言 4.编译程序产生的机器代码的质量 5.计算机执行指令的速度 一个特定算法的“运行工作量” 的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。 假如,随着问题规模 n 的增长,算法执行时间的增长率和 f(n) 的增长率相同,则可记作: T (n) =
原创力文档


文档评论(0)