- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据结构计算机领域本科教育教学改革试点工作计划(“101计划”)研究成果俞勇、张铭、陈越、韩文弢上海交通大学、北京大学、浙江大学、清华大学101
12.8KD树第12章高级查找戴波电子科技大学
12.8.1KD树的定义12.8.2KD树的建立12.8.3KD树的查找12.8.4KD树的插入12.8.5KD树删除12.8.6KD树应用12.8.7KD树小结12.8.8KD树作业
12.8.1KD树的定义12.8.1KD树的定义数据结构KD树(k-dimensionaltree),是用来分割k维数据空间的数据结构,常用来作多维空间的关键数据的搜索。KD树是每个结点均为k维数值点的二叉树,其上的每个结点代表一个超平面(Rn空间中的某个超平面是该空间内的一个n-1维的仿射子空间。n-1维仿射子空间即n-1维子空间的一个平移),该超平面垂直于当前划分维度的坐标轴,在该维度上将空间划分为两部分,一部分在其左子树,另一部分在其右子树。即若当前结点的划分维度为t,其左子树上所有点在t维的坐标值均小于当前值,右子树上所有点在t维的坐标值均大于等于当前值,本定义对其任意子结点均成立。
12.8.2KD树的建立12.8.2KD树的建立数据结构KD树是一颗二叉树,它的每一个结点包括[特征坐标,切分轴,指向左孩结点的指针,指向右孩结点的指针]。其中,特征坐标是线性空间Rn中的一个点(x1,x2,…,xn)。切分轴由一个整数r表示,这里1=r=n,是n维空间中沿第r维进行的一次分割。结点的左分支和右分支分别都是kd树,并且满足:如果y是左分支的一个特征坐标,那么yr=xr,如果z是右分支的一个特征坐标,那么zr=xr。
12.8.2KD树的建立12.8.2KD树的建立数据结构初始化:r=1,读入所有样本数据到S集;只要r=n,则循环下面步骤:1.如果?|S|=1,记录S中唯一的一个点为当前结点的特征数据,并且该结点没有左分支和右分支。其中|S|指集合S中元素的数量。2.如果?|S|1:2.1.将S内所有点按照第r个坐标的大小进行排序;2.2.选出该排列后的中位元素(如果一共有偶数个元素,则选择中位左边或右边的元素,左或右并无影响),作为当前结点的特征坐标,并且记录切分轴r;2.3.将?SL?设为在S中所有排列在中位元素之前的元素;?SR?设为在S中所有排列在中位元素后的元素;2.4.当前结点的左分支设为以?SL???为数据集并且r为切分轴制作出的kd树;当前结点的右分支设为以?SR??为数据集并且r为切分轴制作出的kd树。2.5r=(r+1)%nKD树的建立算法描述
12.8.2KD树的建立12.8.2KD树的建立数据结构例:已知平面8个点的坐标为(2,6)(9,9)(4,7)(1,5)(7,3)(8,2)(3,8)(6,1),请建立KD树。
12.8.2KD树的建立12.8.2KD树的建立数据结构例:已知平面8个点的坐标为(2,6)(9,9)(4,7)(1,5)(7,3)(8,2)(3,8)(6,1),请建立KD树。平面区域划分建立的KD树
12.8.3KD树的查找12.8.3KD树的查找数据结构查找分为查找关键字所在结点和查找最大/最小关键字所在结点。1.查找关键字 根据待查找的数据,从r=1维度依次和根结点的对应维度关键字比较大小,相等则在本结点继续比较r=(r+1)%n的下一个维度的关键字,如果所有维度的关键字都相同,则查找成功。否则,如果待查找数据比当前结点的对应维度关键字小,则转左分支;否则转右分支;然后继续比较r=(r+1)%n的下一个维度的关键字大小。直到找到所有维度相同的关键字,则查找成功,或者找到空指针,则待查找数据不在KD树中,查找失败。平面区域划分建立的KD树例:查找(2,4),(8,2)这两个结点
12.8.3KD树的查找12.8.3KD树的查找数据结构分析:首先查找(2,4)。令r=1,先从KD树的根开始查找,比较第1维的大小:26;则转到左分支继续查找;r=(r+1)%2=2,比较第2维的大小:47,转到左分支继续查找;r=(r+1)%2=1,比较第1维的大小:2=2,相同,则继续比较下一个维度:4!=6,则查找失败。然后查找(8,2)。令r=1,从根比较第一维大小:86,则转到右分支继续查找;r=(r+1)%2=2,比较第二维大小:23,转到左分支继续查找;r=(r+1)%2=1,比较第1维大小:8=8,相同,在这个结点继续比较下一维:2=2,2个维度比较完,所以维度都相等
您可能关注的文档
- 历史本2301-2302 2023-2024-2学期授课计划.doc
- 数据结构课件-2-树状数组.pptx
- 数据结构课件-11-3AVL树.pptx
- 2001010_软件工程导论_理论教学大纲_终稿.doc
- 第1章 计算思维和医学计算.pptx
- 第5章 WPS文字长文档处理.pptx
- 论文排版样文_2.docx
- WPS文字操作修订1.docx
- 5.11 应用案例-原始文件.docx
- 3.6.1-1 为文字和段落添加边框.docx
- 人教版八年级上册数学精品教学课件 第十三章 三角形 章末整合练.ppt
- 人教版八年级上册数学精品教学课件 第十五章 轴对称 15.3 等腰三角形-15.3.1 等腰三角形-第2课时 等腰三角形的判定 (4).ppt
- 人教版八年级上册数学精品教学课件 极速提分法 第17招 整体思想在解题中的七种技巧.ppt
- 人教版八年级上册数学精品教学课件 第十五章 分式 专项突破9 分式方程的解在求字母的值或取值范围中的常用技巧.ppt
- 人教版八年级上册数学精品教学课件 第十八章 分式 18.3 分式的加法与减法-第1课时 分式的加减.ppt
- 人教版八年级上册数学精品教学课件 第十四章 全等三角形 14.1 全等三角形及其性质 (4).ppt
- 七年级作文成长的经历(11篇).docx
- 法律责任豁免声明及工作证明函(6篇).docx
- 叙事作文那是一次难忘的尝试750字通用14篇.docx
- 沙滩里的秘密500字(14篇).docx
文档评论(0)