-精选版大学计算机基础教程PPT.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-精选版大学计算机基础教程PPT.ppt

8.2.6 线性链表 - 基本运算 3.线性链表的删除 与顺序存储相比,链表的优点有: 插入和删除元素时,不需要移动数据元素,只需要修改指针即可 * 8.2.6 线性链表 - 循环链表 循环链表特点: 在链表中增加了一个表头结点 最后一个结点的指针域指向表头结点,构成了一个环状链 循环链表优点: 从任一结点出发来访问表中其他所有结点 空表与非空表的运算的统一 * 8.2.7 树与二叉树 1.树的定义 树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点; (2)其余的结点可分为m(m≥0)个互不相交的子集T1,T2,T3,…,Tm,其中每个子集又是一棵树,并称其为子树。 * 8.2.7 树与二叉树(续) 树中的基本概念 父结点与树的根:每个结点最多只允许有一个前件,称为该结点的父结点。没有前件的结点中有一个,称为树的根结点。 子结点与叶子结点:在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。 结点的度和树的度:一个结点所拥有后件个数称为该结点的度。一棵树中各个结点度数的最大值叫做这棵树的度。 层和树的深度:树结构是一种层次结构,根结点为第一层,根的子结点为第二层,其余各结点的层数逐层由上而下计算。一棵树中结点的最大层数叫做此树的深度。 * 8.2.7 树与二叉树(续) 树的特点 (1)树中只有根结点没有前件; (2)除根外,其余结点都有且仅一个前件; (3)树的结点,可以有零个或多个后件; (4)除根外的其他结点,都存在唯一条从根到该结点的路径; (5)树是一种分支结构(除根的结点外)每个元素都有且仅有一个直接前件,有且仅有零个或多个直接后件。 树的存储 用多重链表来表示 * 8.2.7 树与二叉树(续) 2.二叉树的定义 一个二叉树是n个结点的有限集合(n≥0),此集合或者是空集(n=0),或者是由一个根结点及两棵互不相交的、分别称为左子树和右子树的二叉树组成,并且左右子树都是二叉树。 特点: 非空二叉树只有一个根结点; 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 根 左子树 右子树 二叉树示意图 * 8.1.4 程序设计风格 原则:清晰第一,效率第二 1. 源程序中的内部文档 符号名的命名:有一定实际含义 程序的注释: 序言性注释 功能性注释 程序的视觉组织:层次清晰 2. 数据说明 数据说明的次序规范化 说明语句中变量安排有序化 使用注释来说明复杂数据的结构 * 8.1.4 程序设计风格(续) 3.语句的结构 在一行内只写一条语句 程序编写应优先考虑清晰性 清晰第一,效率第二 在保证程序正确的基础上再要求提高效率 避免使用临时变量前使程序的可读性下降 避免不必要的转移 尽量使用库函数 避免采用复杂的条件语句 尽量减少使用“否定”条件语句 数据结构要有利于程序的简化 要模块化,使模块功能尽可能单一化 利用信息隐蔽,确保每一个模块的独立性 从数据出发去构造程序 不要修补不好的程序,要重新编写 * 8.1.4 程序设计风格(续) 4.输入和输出 对输入数据检验数据的合法性 检查输入项的各种重要组合的合理性 输人格式要简单,使得输入的步骤和操作尽可能简单 输人数据时,应允许使用自由格式 应允许缺省值 输入一批数据时,最好使用输入结束标志 在以交互式输入/输出方式进行输人时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息 当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式 * 8.2 算法与数据结构 * 内容提要 算法的基本概念 算法复杂度 数据结构的基本概念 线性表 栈和队列 线性链表 树与二叉树 查找与排序 * 8.2.1 算法的基本概念 1. 算法的定义 算法是解题方案的准确而完整的描述,它不等于程序,也不等计算方法。 2.算法的基本特征 可行性(effectiveness) 确定性(definiteness) 有穷性(finiteness) 拥有足够的情报 * 8.2.1 算法的基本概念(续) 3.算法的基本要素 算法中对数据的运算和操作 算术运算:包括加、减、乘、除等) 逻辑运算:包括“与”、“或”、“非”等运算) 关系运算:包括“大于”、“小于”、“等于”、“不等于”等) 数据传输:包括赋值、输入、输出等操作 算法的控制结构 * 8.2.1 算法的基本概念(续) 4.算法设计的基本方法 列举法 归纳法 递推 递归 减半递推技术 回溯法 * 8.2.2 算法复杂度 算法复杂度:时间复杂度、空间复杂度 1.算法的时间复杂度 执行算法所需要的计

文档评论(0)

liuxiaoyu99 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档