当前位置: 首页 > news >正文

8. 数据结构与算法

8. 数据结构与算法

常见面试题

  1. 说说一个算法有哪些时间复杂度?归并算法时间复杂度是多少?⭐⭐⭐

    O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n)

    归并算法时间复杂度是O(nlogn)

  2. 说说数组时间复杂度,什么场景下使用?⭐⭐⭐⭐⭐

    从渐进趋势来看,数组插入和删除操作的时间复杂度是O(n)。而数组是有序的,可以直接通过下标访问元素,十分高效,访问时间复杂度是O(1)(常数时间复杂度)。

    如果某些场景需要频繁插入和删除元素时,这时候不宜选用数组作为数据结构

    频繁访问的场景下,可以使用数组。

  3. 说说vector的实现原理⭐⭐⭐⭐⭐

    vector是数组的进一步封装,它是一个类。可以比数组更加灵活的处理内存空间

    vector采用的数据结构是线性的连续空间,它以两个迭代器startfinish分别指向配置得来的连续空间中目前已将被使用的空间。迭代器end_of_storage指向整个连续的尾部。

    vector是动态空间,随着元素的加入,它的内部机制会自动扩充空间以容纳新的元素。vector在增加元素时,如果超过自身最大的容量Capacity,vector则将自身的容量扩充为原来的两倍。扩充空间需要经过的步骤:重新配置空间&

http://www.lryc.cn/news/65097.html

相关文章:

  • Springboot +Flowable,任务认领和回退(一)
  • 机器学习 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络模型答疑
  • 卷首语:我决定从零开始,用C++手写自己的键值数据库
  • 【Vue】收集表单数据 过滤器
  • Linux线程:死锁
  • thinkphp+vue+html超市零食品美食推荐系统零食购物商城网站7v281
  • 思考外语学习的底层逻辑(以英语、法语为例)
  • 命名ACL配置
  • 2008-2019年主要城市PITI指数
  • 拷贝构造函数和赋值重载函数详解
  • 5件关于JavaScript中this参数的事
  • 面试题30天打卡-day17
  • 对标世界一流|弹性应对“供应链不确定性常态化” ——快消与重资产行业的经验互鉴
  • 【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)
  • 796. 子矩阵的和(C++和Python3)——2023.5.6打卡
  • docker打包部署spring boot应用(mysql+jar+Nginx)
  • Golang-常见数据结构Slice
  • 操作系统——设备管理
  • 图片分类:精细化分类,(Fine-Grained Categorization) 基于人的行为的精细化分类
  • Matlab2012a的图像处理工具箱的imshow函数
  • Linux_红帽8学习笔记分享_10(SELinux管理与防火墙)
  • 【资料分享】
  • NewBing 还无法访问的几个问题
  • 将 Segment Anything 扩展到医学图像领域
  • 毕业5年,技术越来越好,混的却越来越差...
  • C#实现把txt文本数据快速读取到excel中
  • Office转换需要用到的SDK(建议)
  • python语法入门到面向过程编程(二)
  • Java常用类
  • 4.30下周美联储携非农来袭黄金多空该如何布局?