一:学习总结
1查找结构思维导图
2、查找学习体会
查找这一章,主要介绍的是如何在某种数据结构中找出给定条件的元素。
不同的数据结构中需要不同的算法,我们学习了线性表,数表,和哈希表
的查找。并且学会了在相同数据结构下减少时间复杂度的方法和思想。
bool IsBST( BinTree T )
{
若T是空树则是二叉搜索树;
中序遍历该树得到的新节点的值一定要大于前一个值,否则不是;
返回真;
}
一开始只考虑了左右子树都是二叉搜索树的情况,
但有可能不是这种情况
int LCA( Tree T, int u, int v )//寻找u,v的共同祖先
{
若树为空或者u或v不在该树中 ERROR;
若u或者v就是根节点的值 return T->Key;
若u或者v在同一棵子树上 return T->Key;
若u大于T->key 最近共同祖先在左子树上;
若u大于T->key 最近共同祖先在右子树上;
}
int find(Tree T,int u)//查看u是否在树中
{
若树为空:则返回0;//不在
查找该树:
若找到等值的key,则u在该树中;
否则不在;
}
部分正确:没有考虑到当前节点就是树的公共祖先
和关键字不在书中的情况。
部分正确:无error的输出。
这里我用的是11个二叉树结构存储数据。身份证号码映射出去,
随机度最高的也就最后一位校验位。
四:阅读代码
哈希表也叫散列表,散列存储结构主要是面向查找的。
原文:https://www.cnblogs.com/jimobing/p/9094301.html