- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 算法与数据结构 理解算法的基本概念 理解数据结构的基本概念 掌握算法的表示方法 了解常用的几种数据 了解算法的设计目标和方法 3.1 算法的基本概念 算法:找出解决问题需要执行的操作,并确定 操作执行的顺序 (1)确定性:算法的每一种运算必须有确切的定义。 (2)有穷性:一个算法总是在执行了有穷步的运算后终止。 (3)可行性:算法中有待实现的运算都是可执行的。 (4)输入:一个算法有零个以上的输入。 (5)输出:一个算法产生一个或多个输出。 3.2 算法的表示 自然语言(少用) 流程图 伪码 流程图 常用符号流程图 例1:求5! 令p=1 令i=2 使p×i,乘积依然存入变量p中 使i的值加1,表示为: 如果i=5,返回步骤3,如果i5,则算法结束。 例2:P56,例3.3 i?1 输入grade的值 i ?1+1 如果i30,继续5,否则返回2 i?1, 取学生成绩 如果grade=60,打印Passed,否则grade60,打印failed i ?1+1 如果i=30,返回6,否则算法结束 伪码 非正式语言,采用文字和非图形符号表示算法。介于自然语言和计算机语言之间。 通俗易懂,灵活方便 可读性好,容易转换成计算机能识别和处理的程序 例子:P57,58 3.3 数据结构的基本概念 3.3 数据结构的基本概念 数据元素:基本数据单位,可由多个数据项组成 数据结构:逻辑结构和存储结构 逻辑结构:集合,线性结构,树形结构,图形结构 存储结构:顺序存储结构,链式存储结构 数据类型 定义:一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称. C语言中的数据类型 char int float double void 字符型 整型 浮点型 双精度型 无值 例:“课程”表格 顺序存储结构:按逻辑次序依次存放在一段地址连续的内存存储单元中。特点:借助数据元素在存储器中的相对位置来表示数据间的逻辑关系)优点:便于实现查找操作缺点:执行插入或删除时需要移动大量数据元素 链式存储结构:数据元素映像为一个节点,节点分为数据域(存放数据元素的数据项)和指针域(元素之间的逻辑关系) 特点:借助数据存放节点存储地址的指针表示数据元素之间的逻辑关系 优点:执行插入或删除操作方便,不需要移动数据元素 缺点:无法通过计算得出指定数据元素的存储位置 3.4 线性表 特点: 表中的元素具有相同的特性 表中元素有且只有一个直接前驱元素和一个直接后继元素(表头和表尾元素除外) 顺序存储结构线性表数据元素间的逻辑关系借助元素间的物理位置相邻来表示 3.5 栈 ( Stack ) 只允许在一端插入和删除的顺序表 允许插入和删除 的一端称为栈顶 (top),另一端称 为栈底(bottom) 特点 后进先出 (LIFO) 链式栈 链式栈无栈满问题,空间可扩充 插入与删除仅在栈顶处执行 链式栈的栈顶在链头 适合于多栈操作 3.6 队列 定义 队列是只允许在一端删除,在另一端插入的顺序表 允许删除的一端叫做队头(front),允许插入的一端叫做队尾(rear)。 特性 先进先出(FIFO, First In First Out) 结点(node) 结点的度(degree) 分支(branch)结点 叶(leaf)结点 子女(child)结点 双亲(parent)结点 兄弟(sibling)结点 祖先(ancestor)结点 子孙(descendant)结点 结点所处层次(level) 树的高度(depth) 树的度(degree) 图 图是由顶点集合(vertex)及顶点间的关系集合组成的一种数据结构:图的数据元素之间的关系可以是任意的 3.8 算法的设计目标 正确性 可使用性 可读性 效率 健壮性 例:查找和排序 查找:在众多数据元素的数据结构中找出某个特定的数据元素。 排序:将一个数据元素的任意序列,按照关键字的递增或者递减的方式重新排列成一个有序的序列。 相关概念 数据表(datalist): 它是待排序数据对象的有限集合。 关键字(码): 通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域即为关键码。每个数据表用哪个属性域作为关键码,要视具体的应用需要而定。即使是同一个表,在解决不同问题的场合也可能取不同的域做关键码。 * * 数据:
文档评论(0)