dj8--算法及程序设计-v1.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
dj8--算法及程序设计-v1

8.2.3 最大公约数问题--迭代算法 利用迭代算法解决问题,需要做好以下三个方面的工作: (1)确定迭代变量。 (2)建立迭代关系式。 (3)对迭代过程进行控制。 8.2 典型问题的算法设计 8.2.3 最大公约数问题--迭代算法 图8-5 欧几里德算法的迭代计算过程 3、用迭代算法求解最大公约数 以136和58为例: 第1步,136÷58=2 余20; 第2步,58÷20=2 余18; 第3步,20÷18=1 余2; 第4步,18÷2=9 余0 算法结束。则最大公约数为2。 8.2 典型问题的算法设计 8.1 算法 8.2 典型问题的算法设计 8.3 数据结构 8.4 程序设计 第8章 算法与程序设计 第八章 算法与程序设计 8.3 数据结构 8.3.1 计算机语言中的数据组织 1.数组的数据组织 数组是一种在实际应用中非常重要的数据组织形式,在大量的程序设计中,也是循环控制结构的重要支撑。 举例来说,当完成10个变量的求和计算,可以通过声明10个变量a1、a2、a3、a4、a5、a6、a7、a8、a9、a10,将变量赋值后,通过计算a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 即可获得最终的答案。而假如需要完成1000个变量甚至10000个变量的求和计算,则声明1000个变量甚至10000个变量,显然是一种不合适的行为。 如在C语言中,声明100个整数变量的数组形式如下: int arr[100]; 8.3.1 计算机语言中的数据组织 1.数组的数据组织 图8-6 数组的存储与存取形式 8.3 数据结构 8.3.1 计算机语言中的数据组织 1.数组的数据组织 100个变量的求和操作可以使用如下的算法形式来完成,形式非常简洁。 int sum = 0; for(i=0; i100; i++) { sum += arr[i]; } 8.3 数据结构 2. 结构体的数据组织 表8-4 学生成绩表 学号 姓名 性别 英语 线性代数 物理 离散数学 1104030308 赵 男 80 64 81 85 1104030309 钱 男 71 54 83 60 1104030301 孙 女 75 60 83 50 1104030317 李 男 81 67 84 60 1104030324 周 女 82 72 60 67 8.3.1 计算机语言中的数据组织 8.3 数据结构 2.结构体的数据组织 如: 针对上述的数据表格,可以针对每一名同学的数据组装成一个结构体类型,以C语言为例,其定义如下: struct student { int no; char name[20]; char sex[5]; float score[4]; }; 通过这种“结构体”,可以将“列式存储方式”改变为“行式存储方式”,从而更利于算法的实现。 8.3.1 计算机语言中的数据组织 8.3 数据结构 1.数据结构的概念 通常,一些常用的、成熟的方法整理成为若干固定的数据组织形式,这就是数据结构。 数据结构中的典型形式有数组、栈、队列、链表、树、图、堆、散列表等类型。 8.3.2 数据结构 8.3 数据结构 2. 数据的逻辑结构 数据可以根据其是否具有底层结构划分成基本类型和构造类型两类,而常见的基本类型有: 整数类型。计算机所定义的、其值属于一定范围的整数 实数类型。又称浮点数类型,计算机所定义的其值属于一定范围的小数。 逻辑类型。取值为真和假,通常用非0整数和0表示,或表示为true和false。 字符类型。取值为计算机所采用的字符集的元素。 指针类型。取值为内存中某存储单元地址,该单元存有某种类型的数据。 8.3.2 数据结构 8.3 数据结构 3. 数据的存储结构 常见的存储映像方式如下: 顺序方式 链接方式 索引方式 散列方式 上面4种方式可以混合使用,同一种数据在不同的算法和应用中也可以采用不同的存储映像方式,从而形成不同的数据结构。 8.3.2 数据结构 8.3 数据结构 4. 数据的运算 数据以一定的方式组织在一起的目的是为了对其进行加工处理,常见的运算有: 插入在已有数据结构中添加新的数据元素或结点。 删除 删除数据结构中的某个数据元素或结点。 查找 在数据结构中查找某特定数据元素。 排序 按某种特定规律改变数据结构中的数据元素或结点的排列顺序。 更新 改变数据结构中数据元素的值。 8.3.2 数据结构 8.3 数据结构 [练习与思考8-3] 如果你要编写给100个数排序的程序,你会考虑用什么形式存放数据?为什么? 8.3 数据结

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档