博客园  :: 首页  :: 新随笔  :: 管理

2013年6月4日

摘要: 1 #include<iostream> 2 using namespace std; 3 void swap(int &a, int &b) 4 { 5 int temp = a; 6 a = b; 7 b = temp; 8 } 9 int partition(int a[],int begin,int end)10 {11 int low,high,key;12 low = begin;13 high = end;14 key = a[low];15 while(low < high)16 {17 ... 阅读全文

posted @ 2013-06-04 15:09 zhangyuxiu 阅读(442) 评论(0) 推荐(0)

摘要: 一、分析平衡二叉查找树有什么意义? 平衡二叉查找树是对二叉查找树的改进,那二叉查找树哪些地方是不尽人意的呢?在分析二叉查找树的平均查找长度时,会发现:二叉查找树的平均查找长度与二叉查找树的形态有关系,最坏的情况是退化为链表,查找变为线性查找,平均查找长度为(n+1)/2。最好的情况就是树的形态与折半查找的判断树形式。平均查找长度为logN。 平衡二叉树就是为了保证树的形态向“树”的方向走。避免了二叉查找树退化为链表的可能。从而提高了查找效率。其实平衡二叉查找树与二叉查找树的区别并不是很大,平衡树在“改变”树的时候会维护树的形态,“改变”无非就两种,插入节点和删除节点,而树的查找只“读”了... 阅读全文

posted @ 2013-06-04 11:51 zhangyuxiu 阅读(594) 评论(0) 推荐(0)