数据结构与算法面经

news/2025/2/8 11:50:32 标签: 数据结构

排序算法

在这里插入图片描述

  • 冒泡排序:通过相邻元素的比较和交换,每次将最大(或最小)的元素逐步“冒泡”到最后(或最前)。时间复杂度:最好情况下O(n),最坏情况下O(n2),平均情况下O(n2)。,空间复杂度:O(1)。
  • 插入排序:将待排序元素逐个插入到已排序序列的合适位置,形成有序序列。时间复杂度:最好情况下O(n),最坏情况下O(n2),平均情况下O(n2),空间复杂度:O(1)。
  • 选择排序:通过不断选择未排序部分的最小(或最大)元素,并将其放置在已排序部分的末尾(或开头)。时间复杂度:最好情况下O(n2),最坏情况下O(n2),平均情况下O(n^2)。空间复杂度:O(1)。
  • 快速排序:通过选择一个基准元素,将数组划分为两个子数组,使得左子数组的元素都小于(或等于)基准元素,右子数组的元素都大于(或等于)基准元素,然后对子数组进行递归排序。时间复杂度:最好情况下O(nlogn),最坏情况下O(n^2),平均情况下O(nlogn)。空间复杂度:最好情况下O(logn),最坏情况下O(n)。
  • 归并排序:将数组不断分割为更小的子数组,然后将子数组进行合并,合并过程

http://www.niftyadmin.cn/n/5844830.html

相关文章

tomcat如何配置保存7天滚动日志

在 Tomcat 中,logging.properties 文件是用于配置 Java 日志框架(java.util.logging)的。若要实现 catalina.out 日志保存 7 天,且每天的日志文件名带有时间戳,可以按以下步骤进行配置: 1. 备份原配置 在修…

本文主要详细讲解ArcGIS中的线、多线段和多边形的结构关系。

在ArcGIS的定义中,线部分的类结构视图如下: 从上图可以非常直观地看到其结构关系。 一、线段(ISegment) ArcGIS中的线段都继承于ISegment,分四种线段。贝拉曲线(IBezierCurve)、直线段&…

【Android】版本和API对应关系表

目录 版本和API对应关系表 不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵! 版本和API对应关系表 版本名版本号名称APIAndroid 1616.0W36Android 1515.0V35Android 1414.0U34Android 1…

vue项目如何设置默认页面

j​​​​​​​​​​​​​​​​​​​​​​​​​​​​创建一个新的vue项目并且将初始页面还原到空白项目开始 - 现实里的乌托邦 - 博客园 vue项目如何设置默认页面 • Worktile社区 创建一个vue项目并配置默认页面_vue如何设置初始展示的页面-CSDN博客 新建的vue项目…

Android13-系统服务大管家-ServiceManager进程-启动篇

文章目录 关注 ServiceMager 原因ServerManager需要掌握的知识资料参考ServiceManager 进程启动启动脚本涉及到的相关源码文件源码跟踪ServiceManager脚本启动位置ServiceManager关联脚本 Native层源码分析main.cpp流程打开驱动 initWithDriverinitmakeProcessState 构造方法op…

CentOS 7配置samba服务设置文件共享

CentOS 7配置samba服务设置文件共享 一、生成另一个Linux系统,名为Linux-client,作为测试系统。 [rootliunx-client ~]# hostnamectl set-hostname Liunx-client二、如果没有则安装Samba服务,如果已经安装则省略此步。 yum install samba…

基于微信小程序的绘画学习平台的设计与开发

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【MySQL】第二弹---数据库基础全解析:从概念到实践的深度探索

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】 目录 1. 数据库基础 1.1 什么是数据库 1.2 主流数据库 1.3 基本使用 1.3.1 MySQL安装 1.3.2 连接服务器 1.3.3 服务器…