- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件专业综合
数据结构 数据结构:是指数据元素之间的相互联系。可以看作是相互之间存在着某种特定关系的数据元素的集合。 数据的逻辑结构:数据元素之间的逻辑关系。 线性结构:有唯一的开始结点及终端结点,其余结点有且仅有一个前驱和后继。 非线性结构:分为树型结构及图型结构。 树型结构中,每个结点仅有一个前驱但可以有多个后继,只有一个开始结点但可以有多个终端结点。 图型结构中,每个结点的前驱和后继的个数都可以是任意的,可能没有开始结点和终端结点,也可能有多个开始结点、多个终端结点。 数据结构 存储结构:数据元素及其关系在计算机存储器中的存储方式,也称为数据的物理结构。 顺序结构 链接结构 索引结构 散列结构 评价算法的两个标准:时间复杂度、空间复杂度。 数据结构 线性表是数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用n表示,n≥0。当n=0时,表示线性表是一个空表。 线性表的存储:顺序表、链表。 线性表的主要操作:插入、删除。 重点掌握单链表的操作。 数据结构 链表:链式存储结构不需要一片连续存储单元,其元素可以分散存放,每个元素中不仅包含本身的信息,而且包含后继元素的地址信息。 一般,每个元素分为两部分: 数据部分:存放元素的值,称为数据域。 指针部分:存放后继元素的存储地址,称为指针域。 数据结构 单向链表:链表元素中只有一个指针域,指向它的后继元素。 头指针:指向链表第一个元素的指针。 空指针用nil或^表示。 单向链表结点类型: 假定单链表中每个结点数据域用data表示, 指针域用next表示。 用data(a)和next(a)表示地址为a的结点的数据域和指针域的内容。 数据结构 栈是一种只能在一端进行插入或删除操作的线性表。允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。 当栈中没有数据元素时,称为空栈。 栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。 数据结构 队列简称队,它是一种不同于栈的特殊线性表,它仅允许在表的一端进行插入,而在表的另一端进行删除。 我们把进行插入的一端称做队尾(rear),进行删除的一端称做队首(front)。 向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除元素称为出队或离队,元素出队后,其后继元素就成为队首元素。 数据结构 数组是n(n>1)个相同类型数据元素a1,a2,…,an构成的有限序列,且该有限序列存储在一块地址连续的内存单元中。 二维数组的存放方式: 按行优先存储方式 按列优先存储方式 数据结构 特殊矩阵:指非零元素或零元素的分布有一定规律的矩阵。 一个阶数较大的矩阵中,非零元素个数s相对于矩阵元素的总个数t十分小时,即st时,称该矩阵为稀疏矩阵。 稀疏矩阵的压缩存储方法: 三元组 (行标,列标,值) 十字链表 三元组表示法例 设有一个6×7阶稀疏矩阵A,则对应的三元组线性表为:((1,3,1),(2,2,2),(3,1,3),(4,4,5), (5,5,6),(6,6,7),(6,7,4)) 数据结构 树的存储可采用链式存储结构,按树的度设计结点的孩子结点指针域个数。 n个结点的k叉树,有n*k个指针,有用指针域n-1个。 数据结构 二叉树是n(n≥0)个结点的有限集合,它或为空树,或为由一个根结点和两棵互不相交的称为左子树和右子树的二叉树组成。 几种特殊二叉树 满二叉树:二叉树每一层上的结点数都达到最大值。 完全二叉树:除最底层外,其余各层结点数都达到最大值,且最底层的结点都集中在该层最左边的若干连续位置上。 平衡二叉树:它或者为空树,或者左右子树都为平衡二叉树,且左子树与右子树深度之差的绝对值不超过1。 满二叉树 二叉树每一层上的结点数都达到最大值。 完全二叉树 除最底层外,其余各层结点数都达到最大值,且最底层的结点都集中在该层最左边的若干连续位置上。 平衡二叉树 它或者为空树,或者左右子树都为平衡二叉树,且左子树与右子树深度之差的绝对值不超过1。 二叉树的遍历 遍历是指按照一定次序访问某数据结构中的所有结点,并且每个结点仅被访问一次。 二叉树的遍历是指按照一定次序访问树中所有结点,并且每个结点仅被访问一次。 二叉树的遍历形式 先序遍历:访问根结点;先序遍历左子树;先序遍历右子树。 中序遍历:中序遍历左子树;访问根结点;中序遍历右子树。 后序遍历:后序遍历左子树;后序遍历右子树;访问根结点 。 哈夫曼树 哈夫曼树又称最优树,是一类带权路径最短的树。 树的带权路径长度(WPL):从根结点到某结点的路径长度与该结点上权的乘积。 哈夫曼树:WPL为最小的二叉树。 哈夫曼树的构造 (1)根据给定的
文档评论(0)