• 笔试题之数据结构


    • M字符串找N子字符串算法的时间复杂度如何计算?

    [时间复杂度]整个算法的执行时间与基本操作重复执行的次数成正比。

    参考kmp算法,该算法的时间复杂度为Q(N),通常,模式串的长度n比主串的长度m要小的多

    • 几种排序算法中,哪几个是稳定的?

    [稳定排序]排序前后,数值的相对前后位置不变的为稳定排序,否则为不稳定排序。

    1、简单排序,时间复杂度O(n的平方),不稳定

    2、快速排序,时间复杂度O(nlogn),性能最佳,不稳定

    3、堆排序,时间复杂度O(nlogn),不稳定

    4、归并排序,时间复杂度O(nlogn),不稳定

    5、基数排序,时间复杂度O(d(n+rd)),稳定排序,

    • 平衡二叉树插入新节点后,新的平衡二叉树是什么?

    平衡二叉树具有如下性质:

    1、左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差不超过1

    • 哈希表的实现方式有哪几种,实现一种hash_insert

    哈希函数的构造方法主要有下面六种:

    1、直接定址法,即关键字或关键字的某个线性函数值为哈希地址,H(key) = key  或 H(key) = a*key + b;

    2、数字分析法,假设关键字是以r为基数的数,并且哈希表中可能出现的关键字事先都知道的,则可取关键字的诺干位组成哈希地址;

    3、平方取中法,取关键字平方后的中间几位为哈希地址;

    4、折叠法,将关键字分割为位数相同的几部分,然后取这部分的叠加和(舍去进位)作为哈希地址;

    5、除留余数法,取关键字被某个不大于哈希表长m的数p除后所得余数为哈希地址,即H(key) = key MOD p ,p <= m;

    6、随机数法,选择一个随即函数,取关键字的随即函数值为它的哈希地址。

     

  • 相关阅读:
    java的eclipse集成开发环境中引入java web项目
    Uncaught SyntaxError: Unexpected identifier错误的解决方法
    layui框架和iframe总结 layui框架最简单的iframe版使用
    js不完全总结,除内置对象,DOM,BOM
    css简单总结
    机器学习之ID3决策树python算法实现
    python邮件发送正文,和图片,文件附件
    python邮件发送基础知识
    python实现带附件的邮件发送基于smtp协议
    Go语言之sync包 WaitGroup的使用
  • 原文地址:https://www.cnblogs.com/foxmin/p/2711537.html
Copyright © 2020-2023  润新知