查找

  1. 能用二分法进行查找的是顺序存储的有序线性表
  2. 在长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度为(n+1)/2
  3. 只要数据元素保持有序,则查找时就可以采用折半查找方法(错),其存储必须是顺序存储,链式不行
  4. 一个文件包含了200个记录,若采用分块查找法,每块长度为4,则平均查找长度为:(50+1)/2+(4+1)/2=28 分为50份找到哪个块,然后加上块内顺序查找的时间
  5. 有序表中有1000个元素,用二分查找查找元素X最多需要比较(log(1000)向上取整)次
  6. 判断是否有环的方法包括:深度优先遍历(DFS),拓扑排序
  7. 二分查找,查找成功与查找不成功,最坏的情况下,都需要比较[logn]+1(向下取整),或者[log(n+1)](向上取整)
  8. 图的BFS生成树的树高小于等于比DFS生成树的树高
  9. 在有序列表中通过二分查找的复杂度(平均查找长度)一定是O(log2n)
  10. 对于有序列表的排序最快的是插入排序
  11. 记的计算的时候二分查找它的左右是中间值的前或后要加减1的,不能直接按中间值再算中间值
  12. 二元查找树的任何结点的左右子树都是二元查找树(就是左边大右边小的一种构造结构)
  13. 长度为12的无重复有序表,按折半查找法进行查找,查找成功所需的平均比较的次数为37/12。这个就是构造出树来,计算(1*1+2*2+4*3+5*4)/12 就是根为1次,之后每层加一完了除以个数
  14. 由先序遍历,后续遍历,中序遍历其中两个求后一个,可以先确定根和左右子树,接着对左右子树进行同样操作即可画出全图
  15. ASL平均查找长度,等于每个数查找的次数和除以个数,例如哈希和树都可以这样计算
  16. 链地址法就是哈希之后冲突了就放到链里
  17. 大数求log记得拆分法估算
  18. 在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行9次比较。即两两比较7次得出最大的,之后把和最大的比较过的元素组织起来再比一次。
  19. 单词查找树(Trie树),是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
  20. 红黑树和avl树都属于自平衡二叉树;两者查找、插入、删除的时间复杂度相同;包含n个内部结点的红黑树的高度是o(logn);TreeMap是一个红黑树的实现,能保证插入的值保证排序
  21. 当采用分快查找时,数据的组织方式为数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
  22. Selection Sort 选择排序,每迭代一次就确定一个元素的位置
  23. 顺序,分块,折半,哈希
  24. 给定一个整数sum,从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum,最快的平均时间复杂度是O(n)
  25. 折半代码记得循环x<=y,m-1,m+1这3条易错点
  26. 深度优先搜索要借助栈;广度优先搜索要借助队列;
  27. 朴素匹配算法 时间复杂度O((N-P+1)*P)KMP匹配算法 时间复杂度为O(N+P)
  28. 分块找出,块间有序,块内无须,平均查找长度(b+1)/2+(s+1)/2,用折半找块则平均查找长度近似为log(n/s+1)+s/2
  29. 二叉排序树,左子树上的值小于根节点,右子树上所有点的值均大于它的根节点。中序遍历为有序
  30. 平衡二叉树(AVL),深度为logn
  31. 折半查找长度为n的表的判定树是唯一的,含有n个节点的二叉排序树是不唯一的。
  32. B-树,所有的叶子节点都在同一层
  33. B+树

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sbfmjscs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值