数据结构草稿

来源:互联网 发布:java两个日期相差年数 编辑:程序博客网 时间:2024/06/09 18:32

二叉排序树

二叉排序树:也称二叉查找树,要么是一棵空树,要么是一棵具有如下特征的非空树;
1).若左子树为空,则左子树上所有节点关键字均小于根节点关键字;
2).若右子树为空,则右子树上所有节点关键字均大于根节点关键字;
3).左、右子树也分别是一棵二叉排序树;
因此:二叉排序树是一个递归的数据结构,可以方便调用递归算法对二叉排序树进行各种运算。
对二叉排序树进行中序遍历,可以得到一个递增的有序数列;

二分查找:

mid=(low+high)/2=low+1/2(high-low);
也就是说mid等于在最低下标low加上最高下标high与low的差的一半;算法科学家们考虑的是将这个1/2进行改进,改进为下面的计算方案:
mid=low+(key-a[low])/(a[high]-a[low])(high-low);//插值查找
要求是表比较长,关键字分布比较均匀的情况下,插值查找算法的平均性能比折半查找要好的多;

斐波那契查找

利用黄金分割原理来实现的;

0 0