常见的排序算法
常见的排序算法
常见的排序算法包括:
- 冒泡排序(Bubble Sort):依次比较相邻的元素,将较大的元素交换到右侧,逐步将最大元素移动到末尾。
- 插入排序(Insertion Sort):将数组分为已排序和未排序两部分,依次将未排序的元素插入到已排序部分的正确位置。
- 选择排序(Selection Sort):每次从未排序部分选择最小(或最大)的元素,放置到已排序部分的末尾。
- 归并排序(Merge Sort):将数组分为较小的子数组,分别对子数组进行排序,然后将排好序的子数组合并成一个更大的有序数组。
- 快速排序(Quick Sort):选择一个基准元素,将数组划分为小于基准的部分和大于基准的部分,然后对两部分进行递归排序。
- 堆排序(Heap Sort):将数组构建成最大堆或最小堆,然后反复从堆顶取出最大(或最小)元素,并调整堆结构。
- 计数排序(Counting Sort):统计数组中每个元素出现的次数,然后根据统计结果进行排序。
- 桶排序(Bucket Sort):将元素分配到不同的桶中,每个桶内使用其他排序算法进行排序,最后按照桶的顺序依次输出元素。
- 基数排序(Radix Sort):按照元素的位数依次进行排序,从最低位到最高位,每一位使用稳定的排序算法。
这些排序算法具有不同的时间复杂度和适用场景。在实际应用中,可以根据具体的数据规模、性能需求和稳定性要求选择合适的排序算法。
相关文章:
常见的排序算法
常见的排序算法 常见的排序算法包括: 冒泡排序(Bubble Sort):依次比较相邻的元素,将较大的元素交换到右侧,逐步将最大元素移动到末尾。插入排序(Insertion Sort):将数组…...
C#如何使用SQLite数据库?
文章目录 0.引言1.SQLite工具准备2.创建窗体项目并添加SQLite的命名空间3.编写使用SQLite代码4.结果展示 0.引言 SQLite是一个轻量级的嵌入式数据库,它的库文件非常小巧,不需要独立的服务器进程或配置。这使得它非常适合在资源受限的环境中使用ÿ…...
如何将表格中的状态数据转换为Tag标签显示
考虑到系统前端页面的美观程度,通常通过Tag标签来代替某条数据中的状态信息。仅通过一点操作,便能够使得页面美观程度得到较大提升,前后对比如下所示。代码基于Vue以及Element-ui组件实现。 修改前: 修改后: 修改前…...
centos中修改防火墙端口开放配置
1、直接进入文件修改 vim /etc/sysconfig/iptables 2、添加需要开放的端口 (1)添加需要开放的单个端口 4001 -A INPUT -m state --state NEW -m tcp -p tcp --dport 4001 -j ACCEPT (2)添加需要开放的某个网段端口 4001:4020 …...
程序设计 算法基础
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
【数据结构】之十分好用的“链表”赶紧学起来!(第一部分单向链表)
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
ubuntu开机自启动
ubuntu开机自启动 1、建一个test.sh脚本,并写入 #!/bin/sh gnome-terminal -x bash -c ‘cd /home/文件路径/;python3 main.py’ exit 0 2、:wq!保存 3、创建rc-local.service文件(sudo vim /etc/systemd/system/rc-local.service)…...
Git将其他分支合并至主分支
主要思想: 把分支代码合并到master,合给谁,就先切换到谁的分支 1. 当前分支是dev,开发完成后,需要合并到master分支 先把该提交的提交,需要push的push完成后,再切换分支。 否则也会告诉你要提交…...
Python+request+pytest 接口自动化测试框架入门(与unittest的比较)
1. Pythonrequestpytest 接口自动化测试框架入门 - 简书 pytest和unittest的比较: pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: 简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试&a…...
数据结构——复杂度
总有一天你要一个人,再暗夜中,向那座桥走过去 文章目录 一、算法的复杂度 考察形式范例 二、算法的时间复杂度 大O的渐进表示法 常见的复杂度对比 例题:消失的数字 题目的三种思路 1.排序遍历 2.减法 3.单身狗思想 三、空间复杂度…...
使用goldengate 迁移Oracle到postgresql
环境: --源端: IP:10.0.4.16 hostname:tencent Oracle数据库版本:12.2.0.1.0 ogg for oracle版本:19.1.0.0.4 SID:orcl --目标端: IP:10.0.4.16 hostname&#…...
ESP-C3入门20. CentOS开发环境及Jenkins流水线
一、准备环境 CentOS8已经正常安装Jenkins 二、升级 cmake cmake 升到 3.16以上。 cmake --version # 安装 g sudo yum install gcc-c export CXXg# 安装 CMake 的依赖项 sudo yum install -y openssl-devel# 下载 CMake 源码并进行编译安装 wget https://github.com/Kitwa…...
服务器被爬虫恶意攻击怎么办?
在有预算的情况可以采购第三方服务防火墙,没钱就使用开源的WAF进行防护。 # WAF防火墙的基本防护原理 WAF(Web 应用防火墙)可以使用多种技术来防止恶意爬虫攻击,例如: 1. 黑名单:WAF 可以使用黑名单技术来…...
JavaScript正则表达式之座机号/手机号验证校验规则
引用:https://www.bilibili.com/read/cv18300539/ 本文对利用正则表达式对手机号码进行了验证 支持格式: 座机 :xxx-xxxxxxxx、xxxxxxxxxxxx …座机区号的横杠可有可无 手机:xxxxxxxxxxx JavaScript: var: checkPhone (rule,…...
黑客学习手册(自学网络安全)
一、首先,什么是黑客? 黑客泛指IT技术主攻渗透窃取攻击技术的电脑高手,现阶段黑客所需要掌握的远远不止这些。 二、为什么要学习黑客技术? 其实,网络信息空间安全已经成为海陆空之外的第四大战场,除了国…...
获取非叶子节点的grad(retain_grad()、hook)【为了解决grad值是None的问题】
在调试过程中, 有时候我们需要对中间变量梯度进行监控, 以确保网络的有效性, 这个时候我们需要打印出非叶节点的梯度, 为了实现这个目的, 我们可以通过两种手段进行, 分别是: retain_grad()hook 不过我感觉“hook”比“retain_grad()”要麻烦.....,所以我感觉还是…...
JMeter(八):响应断言详解
响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-sample only , jmeter variable 关于应用范围,我们大多数勾选“main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,…...
【网络编程】IO复用的应用一:非阻塞connect
在connect连接中,若socket以非阻塞的方式进行连接,则系统内设置的TCP三次握手超时时间为0,所以它不会等待TCP三次握手完成,直接返回,错误为EINPROGRESS。 所以,我们可以通过判断connect时返回的错误码是…...
Spring注解开发,bean的作用范围及生命周期、Spring注解开发依赖注入
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Spring注解开发 一、注解开发定义Bean二、纯注解开发Bean三…...
C#设计模式之---原型模式
原型模式(Prototype Pattern) 原型模式(Prototype Pattern) 是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种创建型设计模式。也就是用一个已经创建的实例作为原型,通过…...
Qwen3-TTS-12Hz-1.7B-Base应用场景:智能音箱多语种交互语音引擎升级
Qwen3-TTS-12Hz-1.7B-Base应用场景:智能音箱多语种交互语音引擎升级 重要提示:本文仅讨论技术实现方案,所有内容均基于公开技术文档和测试数据,不涉及任何政治敏感内容,完全符合内容安全规范。 1. 智能音箱语音交互的现…...
intv_ai_mk11详细步骤:24GB单卡部署Llama模型并启用Web UI全流程
24GB单卡部署Llama模型并启用Web UI全流程指南 1. 环境准备与快速部署 在开始部署intv_ai_mk11模型前,我们需要确保硬件和软件环境满足基本要求。这个中等规模的Llama架构模型可以在单张24GB显存的GPU上流畅运行,非常适合个人开发者和小型团队使用。 …...
AI Agent架构实战教程(非常详细),从被动唤醒到主动守望,收藏这一篇就够了!
在LLM驱动的应用进入深水区后,开发者们发现:即便Agent再聪明,如果它只能停留在“你问我答”的被动模式,就永远无法触达“私人助理”的核心体验。 从OpenAI的ChatGPT Tasks到百度的“心响”产品、腾讯元宝定时任务,行业…...
YOLOv8显存溢出?CPU轻量版部署教程让资源占用降低80%
YOLOv8显存溢出?CPU轻量版部署教程让资源占用降低80% 1. 项目背景与价值 你是不是遇到过这样的情况:想用YOLOv8做目标检测,结果一运行就显存溢出,或者GPU资源被占满导致其他程序卡顿?这种情况在资源有限的开发环境中…...
全能解析工具UniExtract2:多格式提取的效率革命
全能解析工具UniExtract2:多格式提取的效率革命 【免费下载链接】UniExtract2 Universal Extractor 2 is a tool to extract files from any type of archive or installer. 项目地址: https://gitcode.com/gh_mirrors/un/UniExtract2 在数字化信息处理领域&…...
SlimSAS连接器在高密度存储系统中的关键应用与优化策略
1. SlimSAS连接器为何成为高密度存储的"黄金搭档"? 第一次接触SlimSAS连接器是在去年部署全闪存阵列时。当时机柜里密密麻麻的线缆让我头疼不已,直到工程师拿出这个火柴盒大小的连接器,我才意识到高密度布线的革命真的来了。SlimS…...
Linux文件搜索工具FSearch:从卡顿到闪电的搜索体验革新
Linux文件搜索工具FSearch:从卡顿到闪电的搜索体验革新 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中,文件搜索往往是一场与时…...
Stable Diffusion v1.5功能体验:Guidance Scale参数实测,教你调出最佳效果
Stable Diffusion v1.5功能体验:Guidance Scale参数实测,教你调出最佳效果 1. 引言:为什么Guidance Scale如此重要? 如果你用过Stable Diffusion生成图片,一定遇到过这样的情况:同样的提示词,…...
让AI成为开发伙伴:调用快马模型为养龙虾系统添加智能预测与问答功能
最近在开发一个养龙虾的智能决策系统,发现很多功能模块如果纯手写会非常耗时。尝试用AI辅助开发后,效率提升了不少,这里分享下具体实现思路和踩坑经验。 生长预测模块的实现 这个模块需要根据历史水温、投喂量等数据预测龙虾未来一周的生长情…...
AI选包助手:让快马智能推荐并配置浏览器插件开发所需的npm依赖
AI选包助手:让快马智能推荐并配置浏览器插件开发所需的npm依赖 最近想开发一个浏览器插件,功能很简单:抓取当前网页的标题、主要文本内容和所有图片链接,然后整理成Markdown格式一键导出。作为一个前端开发者,我知道这…...
