05-02-自考数据结构(20331)- 动态查找-知识点
自考数据结构动态查找算法主要讲二叉树和平衡二叉树,但是感觉到了,就又续接了一部分,所以这篇备考的小伙伴着重看前两种就可以了。
知识拓扑
知识点介绍
二叉排序树(BST)
定义
二叉排序树(Binary Search Tree)又称二叉查找树,它或者是一棵空树,或者是具有下列性质的二叉树:
-
若左子树不空,则左子树上所有结点的值均小于它的根结点的值
-
若右子树不空,则右子树上所有结点的值均大于它的根结点的值
-
左、右子树也分别为二叉排序树
示例
序列:[5,3,7,2,4,6,8]
构建的BST:
5 / \ 3 7 / \ / \ 2 4 6 8
C++实现
struct BSTNode { int key; BSTNode *left; BSTNode *right; BSTNode(int k) : key(k), left(nullptr),