经过本周对查找运算的学习,系统的深刻了解一些算法和查找方法,例如顺序查找,折半查找,希尔排序等; 这些方法能够帮咱们解决不一样状况下的查找,例如在大数据的状况下,要求要获得前十个数,快排速度是快,可是 要求只是前十个,不如用堆排。
在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。 现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。
思路以下: 有两种状况:1.u,v不在树中; 2.u,v在树中: <1>u,v都在左子树上; <2>u,v都在右子树上; <3>u,v一个在左子树上,一个在右子树上; <4>u,v有一个在根上。
Q:考虑了是不是根,在根的同一边,找不到的状况,两个数在根的同一边忘记考虑了
A:后面带入数据,才知道少了种状况c++
实现QQ新账户申请和老账户登录的简化版功能。最大挑战是:听说如今的QQ号码已经有10位数了。
这题会map通常就没问题,编译错误是忘记换成c++
本题要求实现函数,判断给定二叉树是否二叉搜索树。
首先二叉搜索树,就是: 非空左子树的全部键值小于其根结点的键值。 非空右子树的全部键值大于其根结点的键值。 左、右子树都是二叉搜索树。 因此就按这个考虑
思路明确的话,通常不会有问题,后面多提交的是为了想找几个特殊点看看,能不能过
给定n本书的名称和订价,本题要求编写程序,查找并输出其中订价最高和最低的书的名称和订价
熟悉一些经常使用的算法,这样解题能够加快速度