摘要: 4. 二叉查找树(BST)Technorati 标记:二叉查找树,BST,二叉查找树合并4.1 BST数据结构定义使用C++语言,如果需要使用BST,那么不用重新造轮子了,C++语言里的map, set等STL容器应该可以满足需求了(虽然STL里这些容器大多是以红黑树作为其底层实现),如果你需要使用小/大根堆(也叫优先队列,特殊的、自平衡的BST),STL也能满足你的需求(可以参考这里:http://www.cnblogs.com/dskit/archive/2009/12/13/1623152.html)。先来看下BST的定义,BST是满足如下3个条件的二叉树:1. 节点的左子树包含的节点的 阅读全文
posted @ 2012-08-19 13:00 bizhu 阅读(18536) 评论(5) 推荐(2) 编辑
摘要: 1. 打靶问题的递归解法Technorati 标记:递归算法,字典法,二分法,打靶问题,日期问题,求幂,多项式求值伦敦奥运会火热进行中,让我们来看个打靶的问题:一个射击运动员打靶,靶一共有10环,求连开10枪打中90环的可能行有多少种?分析:这是一个典型递归求解问题。假设第10枪打x环,则将问题转换为剩下9枪打90-x环的可能有多少种,x的取值范围为[0, 10],根据加法原理,则:10枪打90环的可能 = 第10枪打0环,剩下9枪打90环的可能 + 第10枪打1环,剩下9枪打89环的可能 + 第10枪打2环,剩下9枪打88环的可能+ 第10枪打3环,剩下9枪打87环的可能 + 第10枪打4环 阅读全文
posted @ 2012-08-19 12:56 bizhu 阅读(497) 评论(0) 推荐(0) 编辑