各类查找的时间复杂度,ASL成功,不成功。都要体现。数组
首先我认为学习查找是十分必要的,在这个大数据时代,若是不能利用搜索引擎很快地查找到本身想要的技术资料的话,那么会很悲剧!特别是面对新技术的时候,因为资料特别少,就算有,大部分也是英文资料。若是这时候,你查找资料的能力比不上别人的话,颇有可能就会在新一轮的技术竞赛中被甩在后面。咱们要跟上时代,就要学习数据的处理和资料的查找技能。这一章的学习,逻辑性很强,让我受益不浅。从繁琐到简单,到时间复杂度一直下降,我以为技术是不断完善的过程,我也应该不断进步。学习
bool IsBST(BinTree T)大数据
{ 若T是空树则是二叉树;搜索引擎
中序遍历该树获得的新节点的值必定要大于前一个值,不然返回false;设计
返回true;指针
}blog
部分正确:用了比较简单的思路,致使有两个试点不能过,用了老师教的中序遍历和递归一块儿使用,代码量也少了,各方面的特殊状况均可以经过。递归
int search(Tree T,int u);索引
int LCA(Tree T,int u,int v)博客
{
若树为空或者u或v不在该树中,error;,
若u或者v就是根节的值,return T->Key;
若u或者v在同一棵子树上,return T->key;
若u小于T->key 最近共同祖先在左子树上;
若u大于T->key 最近共同祖先在右子树上;
}
int search (Tree T,int u)
(
若树为空:则不在;
查找该树:
若找到等值的Key,则u在该树中;
不然不在;
}
有些状况没有考虑到,致使了部分正确
这个超出了个人能力,属于百度了解的题
hash_map,顾名思义,就是利用hash_set存储结构的写map映照容器,普通的map用的是红黑树存储结构写的。元素的检索时间对比,hash_set近似为O(1),红黑树为O(logn)。Hash_map的空间开销要比map 的空间开销大,尤为是我用数组模拟指针写的hash_map。
因此,若是有必要采起映射结构的时候,能用hash_map就别用map。
须要注意的是,hash_map遍历出来的元素不是有序的。
Hash_map和普通hash_set相比的话,hash_map比hash_set多了一张value表,也就是映射表。
下面是hash_map的模板,和hash_set的模板差很少。