平衡树:修订间差异
外观
删除的内容 添加的内容
新条目 |
无编辑摘要 |
||
第1行: | 第1行: | ||
'''平衡树'''是[[计算机科学]]中的一类数据结构。 |
'''平衡树'''是[[计算机科学]]中的一类数据结构。 |
||
[[ |
[[二叉查找树]]是计算机科学中的一种重要的查找结构,而一般的查询复杂度是跟目标结点到树根的距离(即深度)有关,因此当结点的深度普遍较大时,查询的均摊复杂度会上升,为了更高效的查询,'''平衡树'''应运而生了。 |
||
[[File:Unbalanced_binary_tree.svg|thumb|240px|不平衡的[[树_(数据结构)|树结构]]]] |
[[File:Unbalanced_binary_tree.svg|thumb|240px|不平衡的[[树_(数据结构)|树结构]]]] |
||
在这里,平衡指所有叶子的深度平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低。 |
在这里,平衡指所有叶子的深度趋于平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低。 |
||
[[File:AVLtreef.svg|thumb|240px|平衡的[[树_(数据结构)|树结构]]]] |
[[File:AVLtreef.svg|thumb|240px|平衡的[[树_(数据结构)|树结构]]]] |
2010年5月25日 (二) 04:59的版本
平衡树是计算机科学中的一类数据结构。 二叉查找树是计算机科学中的一种重要的查找结构,而一般的查询复杂度是跟目标结点到树根的距离(即深度)有关,因此当结点的深度普遍较大时,查询的均摊复杂度会上升,为了更高效的查询,平衡树应运而生了。
在这里,平衡指所有叶子的深度趋于平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低。
基本操作
几乎所有平衡树的操作都基于树旋转操作,通过旋转操作可以使得树趋于平衡。