网站大量收购独家精品文档,联系QQ:2885784924

数据结构课件-9-四叉树.pptx

数据结构课件-9-四叉树.pptx

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

数据结构计算机领域本科教育教学改革试点工作计划(“101计划”)研究成果俞勇、张铭、陈越、韩文弢上海交通大学、北京大学、浙江大学、清华大学101

12.9四叉树第12章高级查找戴波电子科技大学

12.9.1四叉树的定义12.9.2四叉树的建立12.9.3四叉树的查找12.9.4四叉树的插入12.9.5四叉树删除12.9.6四叉树应用12.9.7四叉树小结12.9.8四叉树作业

12.9.1四叉树的定义12.9.1四叉树的定义数据结构四叉树(QuadTree)是一种空间索引树,四叉树的每一个结点都代表着一块矩形区域。在平面直角坐标系中,平面可以被分为一二三四象限,四叉树的每一个结点也类似,可以分裂为四个子结点,子结点在满足条件的情况下可以继续分裂,这样构成了一个四元的树状结构,就是四叉树。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空间索引之一。常规四叉树的结构如下图所示,地理空间对象都存储在叶子结点上,中间结点以及根结点不存储地理空间对象。

12.9.2四叉树的查找12.9.2四叉树的查找数据结构根据数据块所在位置确定四叉树的检索子树,如果当前结点无子树,且存储的数据不是待查找的数据,则查找失败;如果存储的数据是待查找的数据,则查找成功;如果当前结点有子树,则继续根据数据块位置查找对应的孩结点。四叉树的查找数据块的时间复杂度T(n)=O(d),即四叉树的深度。四叉树算法的优点是检测效率和对象数量无关,只和树的深度有关。四叉树对于区域查询,效率比较高。但如果空间对象分布不均匀,随着地理空间对象的不断插入,四叉树的层次会不断地加深,将形成一棵严重不平衡的四叉树,那么每次查询的深度将大大的增多,从而导致查询效率的急剧下降。四叉树主要用于二维空间的检索,八叉树可以用于三维空间,相同原理,可以用2N叉树用于N维空间的检索。

12.9.3四叉树的插入12.9.3四叉树的插入数据结构插入的数据所在结点如果是空结点,则直接存储该数据块;如果不空,且没有子结点,则分裂该结点,得到四个子区域,如果每个子区域最多一个数据块,则将原结点数据和插入数据分别存储在新的子区域对应结点;如果存在子区域多于一个数据块,则这个子区域继续分裂,直到每个子区域里面的数据块最多一个,再将数据存储在对应的叶结点。

12.9.4四叉树的插入12.9.4四叉树的插入数据结构例:画出在下图a)的图中插入数据块8后b)图的四叉树。a)原图b)插入数据块8a)原图的四叉树

12.9.4四叉树的插入12.9.4四叉树的插入数据结构答案:

12.9.5四叉树的删除12.9.5四叉树的删除数据结构四叉树删除结点后从父结点到根结点回溯调整思维导图四叉树的删除先查找到待删除元素结点,因为是叶结点,可以直接删除。但因为待删除数据可能在多个区域,因此需要将所有含有该数据的结点都删除,然后还可能要进行子结点的合并。例子:画出a)图中删除数据块8后的四叉树a)原图b)图a)对应的四叉树

12.9.5四叉树的删除12.9.5四叉树的删除数据结构四叉树删除结点后从父结点到根结点回溯调整思维导图答案:

12.9.6四叉树的应用12.9.6四叉树应用数据结构四叉树常见的应用有图像处理、空间数据索引、2D中的快速碰撞检测、稀疏数据等。游戏开发中经常有碰撞检测的算法,对于平面上N个图形,如果需要检测互相之间是否发生碰撞,最基本的做法是进行N(N-1)次比较,时间复杂度是O(n2),n较小时能够接受,当n10000时效率可能就会明显降低了,如果四叉树使用合理,可以将复杂度降到O(nlogn),可以说是个很大的改进。2D游戏中经常有大量的各类对象,为了在大量对象中进行快速搜索,通常使用四叉树而不是穷举搜索。

12.9.7四叉树小结12.9.7四叉树小结数据结构四叉树是一种空间索引树,四叉树的每一个结点都代表着一块矩形区域。在平面直角坐标系中,平面被分为一二三四象限,四叉树的每一个结点也分裂为四个子结点,子结点在满足条件的情况下可以继续分裂,这样构成了一个四元的树状结构,就是四叉树。

12.9.8四叉树作业12.9.8四叉树作业数据结构请绘制下图对应的四叉树

101

您可能关注的文档

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档