对于查找分静态查找和动态查找。git
静态查找:在已有的数据中进行查找,查找过程当中不改变查找表中的元素(不插入也不删除)。github
动态查找:查找过程当中,插入查找表中不存在的元素,或者从中删除已经存在的元素。spa
1.静态查找有顺序查找和折半查找(二分查找)get
对于无序的查找表进行顺序查找,也就是与查找表中的元素逐一比较;二分查找是对于有序的查找表,设置一个mid分割点。it
2.动态查找为了保证查找效率和插入删除效率的提升,提出了二叉搜索树,可是二叉搜索树的形状(也就是深度)随着数据元素输入顺序不一样而不肯定,而深度偏偏影响查找效率,为了提升查找,插入和删除元素的效率(由于得先查找才能插入删除),所以引入了平衡二叉树和红黑树。效率
这里在二叉树的基础上实现了二叉搜索树,只是简单的创建一颗二叉搜索树。基础
代码见github: https://github.com/liuamin/Binary-tree-and-binary-search-Tree二叉树
binsearch.h头文件中搜索
红黑树的实如今https://github.com/liuamin/Red_black-Tree/tree/red_black-tree数据
redblack.h中