zoukankan      html  css  js  c++  java
  • 笔试题之数据结构

    • 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、随机数法,选择一个随即函数,取关键字的随即函数值为它的哈希地址。

     

  • 相关阅读:
    万网中备份数据操作
    《C++ Primer Plus》学习笔记3
    Redhat Linux 下安装Oracle 11g R2
    Android-shareSDK
    jQuery的AJax异步訪问
    swift语言初见
    Num 36 : ZOJ 2100 [ 深度优先搜索算法 ] [ 回溯 ]
    一个点的经度和纬度,以这个点为圆心,1000米为半径,最大的经度和纬度,最小的经度和纬度
    [Swift]LeetCode227. 基本计算器 II | Basic Calculator II
    [Swift]LeetCode225. 用队列实现栈 | Implement Stack using Queues
  • 原文地址:https://www.cnblogs.com/foxmin/p/2711537.html
Copyright © 2011-2022 走看看