- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Josephs problem 请跟踪第1步和2b的执行,在6取3的情况下:约瑟夫环上的哪个位子是幸运位? RAPTOR的队列操作设计 入队操作 初始化队列 出队操作 非线性数据结构-树 树(Tree) 是一种重要的非线性数据结构。 不含有任何节点(元素)的树被称为空树 在一棵非空树中,它有且仅有一个称作根(root)的节点,其余的节点可分为m棵(m≥0)互不相交的子树(即称作根的子树) 每棵子树(Sub Tree)又同样是一棵树 显然,树的定义是递归的 树的结构与分解 树的基本术语 节点的度和树的度 树中所有节点的度的最大值被定义为该树的度 分支节点和叶子节点 在一棵树中,度等于0的节点称作叶子或终端节点,度大于0的节点称作分支节点或非终端节点 子节点、父节点和兄弟节点 节点的层数和树的深度(高度) 树的基本术语 有序树和无序树 一棵反映父子关系的家族树,兄弟节点之间是按照排行大小有序的,所以它是一棵有序树 森林,森林是m(m≥0)棵互不相交的树的集合 树的性质 性质1: 树中的节点数等于所有节点的度数加1。 性质2: 度为k的树中第i层上至多有ki-1个节点(i≥1) 性质3深度为h的k叉树最多有 个节点 性质4具有n个节点的k叉树的最小深度为: logk(n(k-1)+1) 树的存储 父子链表 使用文件描述树的基本数据 对树T的基本描述,保存在data.csv文件中,每一行保存一个节点的父节点,第一行保存的是根节点,所以其父节点为0 将树的描述保存在文件中,可以方便校验,减少屏幕交互 建立父子链表的main子图 建立父子链表的data_input_from_file子图 建立父子链表的 findchild子图 使用RAPTOR实现树的存储 parents[],数组下标表示各个节点,数组元素保存各个节点的父节点,实际内容从文件得到,这是推断其他数据的基础; child[]数组是一个字符串数组,元素下标表示各个节点,数组元素使用字符串保存各个节点的子节点 Nodestr保存了所有节点的“数据” 树的运算 树的主要运算包括进行树的遍历、求树的深度、输出树等 常用的树的遍历包括前序遍历(或称深度优先遍历)和按层遍历(或称广度优先遍历)两种 前序遍历T:得到的节点序列为: A B D E G H I C F 小结与回顾 本章的内容围绕模型开始,主要内容可以划分为两个主要部分,使用有限状态机和图灵机对客观物体建立状态模型;使用数组表述抽象数据结构模型 由于软件功能和书的篇幅限制,本书中设计的大部分抽象数据结构都不可能按照经典文献的要求进行完整、规范的定义和描述。所以在实现上进行模拟,尽可能做到“神似”而不是“形似”。 一棵树T,它由根节点A和两棵子树T1和T2所组成,T1和T2分别对应图 (b)和(c)所示;T1又由它的根节点B和三棵子树T11,T12和T13所组成,这三棵子树分别对应 (d),(e)和(f)所示;T11和T13只含有根节点,不含有子树(或者说子树为空树),不可再分;T12又由它的根节点E和两棵只含有根节点的子树所组成,每棵子树的根节点分别为H和I;T2由它的根节点C和一棵子树所组成,该子树也只含有一个根节点G,不可再分。 * 这颗树的数据没有专门的文件保存,这是由于很巧这颗树的数据就是字母表中的A~I, 可以使用to_character()函数转换而来. * 一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型 第4章 模型化 PART B 《可视化计算》 使用RAPTOR实现抽象数据类型 无论是进行科学计算或数据处理、过程控制等,都是对数据进行加工处理的过程 必须研究数据的特性及数据间的相互关系及其对应的存储表示 利用这些特性和关系设计出结构好、效率高的程序或算法 如何进行数据抽象? 数据结构是数据存在的形式 它用来反映一个数据的内部构成,即一个数据由哪些成分的数据构成,以什么方式构成,呈现什么结构 数据(Data)是信息的载体 能够被计算机识别、存储和加工处理 数据元素(Data Element)数据基本单位 在计算机程序中作为一个整体考虑和处理 如何进行数据抽象? 数据结构(Data Structure)是指互相之间存在着一种或多种关系的数据元素的集合 四类基本的数据结构: 集合结构 线性结构 树型结构 图形结构 如何进行数据抽象? 一个数据结构必须包含有数据元素的集合和数据关系的集合这两个基本要素 数据结构包括数据的逻辑结构和数据的物理结构 数据的逻辑结构 可以看作是从具体问题抽象出来的数学模型,它与数据的存储无关 研究数据结构的目的是为了在计算机中实现对它的操作,为此还需要研究如何在计算机中表示一个数据
文档评论(0)