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

26考研——排序_插入排序(8)

408答疑


文章目录

  • 二、插入排序
    • 基本概念
    • 插入排序方法
    • 直接插入排序
      • 算法描述
      • 示例
      • 性能分析
    • 折半插入排序
      • 改进点
      • 算法步骤
      • 性能分析
    • 希尔排序
      • 相关概念
      • 示例分析
      • 希尔排序的效率
        • 效率分析
        • 空间复杂度
        • 时间复杂度
  • 九、参考资料
    • 鲍鱼科技课件
    • 26王道考研书


二、插入排序

基本概念

  • 定义:插入排序是一种简单直观的排序算法,其基本思想是每次将一个待排序的记录按其关键字大小插入前面已排好序的子序列,直到全部记录插入完成。

在这里插入图片描述

插入排序方法

  • 直接插入排序:将待排元素往已排序好的序列进行插入,叫做直接插入排序。

  • 折半插入排序:由插入排序的思想可以引申出折半插入排序。

  • 希尔排序:由插入排序的思想可以引申出希尔排序。

直接插入排序

算法描述

  • 基本思想:直接插入排序是一种最简单也最直观的排序算法。其基本思想是每次将一个待排序的记录按其关键字大小插入前面已排好序的子序列,直到全部记录插入完成。

在这里插入图片描述

  • 操作步骤:要将元素 L ( i ) L(i) L(i) 插入已有序的子序列 L [ 1... i − 1 ] L[1...i-1] L[1...i1],需要执行以下操作(下面用 L [ ] L[] L[] 表示一个表,而用 L ( ) L() L() 表示一个元素):

    1. 查找出 L ( i ) L(i) L(i) L [ 1... i − 1 ] L[1...i-1] L[1...i1] 中的插入位置 k k k
    2. L [ k . . . i − 1 ] L[k...i-1] L[k...i1] 中的所有元素依次后移一个位置。
    3. L ( i ) L(i) L(i) 复制到 L ( k ) L(k) L(k)
  • 实现过程:为了实现对 L [ 1... n ] L[1...n] L[1...n] 的排序,可以将 L ( 2 ) L(2) L(2) L ( n ) L(n) L(n) 依次插入前面已排好序的子序列,初始 L [ 1 ] L[1] L[1] 可以视为一个已排好序的子序列。

  • 执行次数:共进行 n − 1 n-1 n1 次插入操作(从 L ( 2 ) L(2) L(2) L ( n ) L(n) L(n))。

  • 原地排序:仅需常数级辅助空间,空间复杂度为 O ( 1 ) O(1) O(1)

示例

  • 初始序列 4 9 1 , 38 , 65 , 97 , 76 , 13 , 27 , 4 9 2 49_1, 38, 65, 97, 76, 13, 27, 49_2 491,38,65,97,76,13,27,492

  • 排序过程
    初始时 49 可以视为一个已排好序的子序列,按照上述算法进行直接插入排序的过程如下图所示,括号内是已排好序的子序列。

在这里插入图片描述

性能分析

  • 空间效率:仅使用了常数个辅助单元,因而空间复杂度为 O ( 1 ) O(1) O(1)

  • 时间效率

    • 在排序过程中,向有序子表中逐个地插入元素的操作进行了 n − 1 n-1 n1 趟,每趟操作都分为比较关键字和移动元素,而比较次数和移动次数取决于待排序表的初始状态。
    • 在最好情况下,表中元素已经有序,此时每插入一个元素,都只需比较一次而不用移动元素,因而时间复杂度为 O ( n ) O(n) O(n)
    • 在最坏情况下,表中元素顺序刚好与排序结果中的元素顺序相反(逆序),总的比较次数达到最大,总的移动次数也达到最大,总的时间复杂度为 O ( n 2 ) O(n^2) O(n2)
    • 平均情况下,考虑待排序表中元素是随机的,此时可以取上述最好与最坏情况的平均值作为平均情况下的时间复杂度,总的比较次数与总的移动次数约为 n 2 / 4 n^2/4 n2/4
    • 因此,直接插入排序算法的时间复杂度为 O ( n 2 ) O(n^2) O(n2)
  • 稳定性:因为每次插入元素时总是从后往前先比较再移动,所以不会出现相同元素相对位置发生变化的情况,即直接插入排序是一个稳定的排序算法。

  • 适用性:直接插入排序适用于顺序存储和链式存储的线性表,采用链式存储时无须移动元素。

折半插入排序

改进点

  • 折半插入排序算法对直接插入排序算法进行了改进,主要在于查找待插入元素位置的方法。通过使用折半查找来确定待插入元素的位置,从而减少比较次数。

算法步骤

  1. 将待插入的元素暂存到数组的第一个位置。
  2. 使用折半查找确定该元素在已排序子序列中的正确位置。
  3. 从后向前移动元素,为新元素腾出空间。
  4. 将新元素插入到正确的位置。

性能分析

  • 时间复杂度:折半插入排序的时间复杂度约为 O ( n log ⁡ 2 n ) O(n\log_2 n) O(nlog2n),这是因为折半查找减少了比较元素的次数。然而,由于元素的移动次数并未改变,总的时间复杂度仍为 O ( n 2 ) O(n^2) O(n2)。对于数据量不大的排序表,折半插入排序往往能表现出很好的性能。

  • 稳定性:折半插入排序是一种稳定的排序算法,因为它在插入元素时总是从后往前先比较再移动,不会出现相同元素相对位置发生变化的情况。

  • 适用性:折半插入排序仅适用于顺序存储的线性表,因为它依赖于顺序存储的线性结构来实现折半查找和元素的移动。

希尔排序

相关概念

  • 基本思想:希尔排序是基于直接插入排序进行改进而得来,又称缩小增量排序。它更适用于基本有序的排序表和数据量不大的排序表。

  • 排序过程:先将待排序表分割成若干形如 L [ i , i + d , i + 2 d , ⋯ , i + k d ] L[i, i+d, i+2d, \cdots, i+kd] L[i,i+d,i+2d,,i+kd] 的“特殊”子表,即相隔某个“增量”的记录组成一个子表,对各个子表分别进行直接插入排序,当整个表中的元素已呈“基本有序”时,再对全体记录进行一次直接插入排序。

  • 增量选择:先取一个小于 n n n 的增量 d 1 d_1 d1,把表中的全部记录分成 d 1 d_1 d1 组,所有距离为 d 1 d_1 d1 的倍数的记录放在同一组,在各组内进行直接插入排序;然后取第二个增量 d 2 < d 1 d_2 < d_1 d2<d1,重复上述过程,直到所取到的 d i = 1 d_i = 1 di=1,即所有记录已放在同一组中,再进行直接插入排序,由于此时已经具有较好的局部有序性,因此可以很快得到最终结果。

  • 稳定性:当相同关键字的记录被划分到不同的子表时,可能会改变它们之间的相对次序,因此希尔排序是一种不稳定的排序算法。

  • 适用性:希尔排序仅适用于顺序存储的线性表。

示例分析

在这里插入图片描述

希尔排序的效率

效率分析
  • 希尔排序的效率很高,尽管它也属于插入排序的一种,但其高效的原因有两个:
    1. 对于直接插入排序来说,数据量越小,效率越高。
    2. 对于直接插入排序来说,数据基本有序时,效率越高。
空间复杂度
  • 仅使用了常数个辅助单元,因此空间复杂度为 O ( 1 ) O(1) O(1)
时间复杂度
  • 增量序列的影响:希尔排序的时间复杂度依赖于所取“增量”序列的函数,这涉及一些数学上尚未解决的难题。

  • 特定情况下的时间复杂度: 当增量序列为 d l t a [ k ] = 2 t − k + 1 − 1 dlta[k] = 2^{t-k+1} - 1 dlta[k]=2tk+11 时,希尔排序的时间复杂度为 O ( n 3 / 2 ) O(n^{3/2}) O(n3/2),其中 t t t 为排序趟数, 1 ≤ k ≤ t ≤ ⌊ log ⁡ 2 ( n + 1 ) ⌋ 1 \leq k \leq t \leq \lfloor \log_2(n+1) \rfloor 1ktlog2(n+1)⌋

  • 实验基础上的推论:在大量的实验基础上推出:当 n n n 在某个特定范围内,希尔排序所需的比较和移动次数约为 n 1.3 n^{1.3} n1.3,当 n → ∞ n \to \infty n 时,可减少到 n ( log ⁡ 2 n ) 2 [ 2 ] n(\log_2 n)^{2^{[2]}} n(log2n)2[2]

  • 最坏情况:在最坏情况下希尔排序的时间复杂度为 O ( n 2 ) O(n^2) O(n2)

九、参考资料

鲍鱼科技课件

b站免费王道课后题讲解:
在这里插入图片描述

网课全程班:
在这里插入图片描述

26王道考研书

相关文章:

26考研——排序_插入排序(8)

408答疑 文章目录 二、插入排序基本概念插入排序方法直接插入排序算法描述示例性能分析 折半插入排序改进点算法步骤性能分析 希尔排序相关概念示例分析希尔排序的效率效率分析空间复杂度时间复杂度 九、参考资料鲍鱼科技课件26王道考研书 二、插入排序 基本概念 定义&#x…...

Mem0 Prompt优化

在使用mem0的时候&#xff0c;系统中自带的提取事件的Prompt&#xff0c; 效果很差&#xff0c;我们可以按照我们的需求修改 from datetime import datetime, timedeltacustom_fact_extraction_prompt f"""你是一位个人信息整理专家&#xff0c;专注于准确存…...

C++ STL常用算法之常用算术生成算法

常用算术生成算法 学习目标: 掌握常用的算术生成算法 注意: 算术生成算法属于小型算法&#xff0c;使用时包含的头文件为 #include <numeric> 算法简介: accumulate // 计算容器元素累计总和 fill // 向容器中添加元素 accumulate 功能描述: 计算区间内容器元素…...

Kubernetes Webhook必要知识点:原理、配置与实践

#作者&#xff1a;邓伟 文章目录 1. 什么是 Kubernetes Webhook&#xff1f;2. Webhook 的工作原理2.1 准入控制器&#xff08;Admission Controller&#xff09;2.2 Webhook 类型 3. Webhook 的配置3.1 Webhook 配置文件3.2 配置字段说明 4. Webhook 的开发与部署4.1 开发 We…...

IGS 转 STL 全攻略:迪威模型在线转码助力 3D 建模

在 3D 建模与制造业领域&#xff0c;不同文件格式之间的转换是经常面临的重要任务。IGS 和 STL 作为其中两种常用格式&#xff0c;前者凭借出色的曲面表达能力&#xff0c;在 CAD 领域广泛应用&#xff1b;后者凭借简单的三角网格结构&#xff0c;成为 3D 打印、快速成型的行业…...

【Bug】记录2025年遇到的Bug以及修复方案

--------------------------------------------------------分割线 2025.3.25-------------------------------------------------------windows环境下通过命令行终端&#xff08;必须是命令行下&#xff0c;直接赋值传递&#xff0c;代码正常&#xff09;的形式传递字符串时&a…...

Unity UGUI - 六大基础组件

目录 一、Canvas上 1. Canvas&#xff1a;复制渲染子UI控件 2. ✨Canvas Scaler✨&#xff1a;画布分辨率自适应 3. Graphics Raycaster&#xff1a;射线事件响应 4. ✨Rect Transform✨&#xff1a;UI位置锚点对齐 二、Event System上 5. Event System 6. Standalone …...

TCP网络编程与多进程并发实践

一、引言 在网络编程中&#xff0c;TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。而多进程并发则是一种提高服务器处理能力的有效手段&#xff0c;允许服务器同时处理多个客户端的请求。本文将详细介绍如何使用 TCP 协议进…...

IM腾讯Trtc与vod云点播:实现合流录制并上传,根据参数返回视频地址

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 文档传送门 2. java基础使用2.1 准备工作2.1.1 云控制台获取(密钥和密钥secret)2.1.2 找到trtc控制台2.1.3 vod云点播控制台 2.2 使用准备的数据进行操作2.2.0 引入依赖2.2.1 创建TrtcUtils工具类2.2.2 TrtcReqDTO 录制请求dt…...

HTTP协议手写服务器

目录 一、请求的是Web根目录 二、GET方法通过URL传参 三、根据资源类型对应出Content-Type值 四、Http代码 项目完整源代码&#xff1a;Http 周不才/cpp_linux study - 码云 - 开源中国 一、请求的是Web根目录 如果URL中请求的资源是Web根目录&#xff0c;则自动跳转到主…...

Uni-app入门到精通:subPackages节点为小程序的分包加载配置

subPackages节点用于为小程序的分包加载配置。因小程序有体积和资源加载限制&#xff0c;各小程序平台提供了分包方式&#xff0c;以加快小程序的下载和启动速度。主包用于放置默认启动页面、babBar页面&#xff0c;以及一些所有分包都会用到的公共资源或JS脚本&#xff1b;而分…...

DeepSeek本地部署(linux)

一、下载并安装Ollama 1.下载Ollama Ollama官网:Ollama 点击"Download",会跳转至下载页面。 1.1在线下载安装 可复制此命令到Linux服务器进行在线下载,如下载速度过慢,可选择离线下载安装。 curl -fsSL https://ollama.com/install.sh | sh1.2离线下载安装 …...

工具——(常用的软件)视频编辑器

软件工具 1、视频编辑器&#xff1a;filmora 9 2、图标无损放大&#xff1a;oCam 或者 Adobe Illustrator CS6 3、图片编辑&#xff1a;Photoshop CS6 4、截图置顶工具&#xff1a;Snipaste 或者 PixPin 5、抢票&#xff1a;Bypass 6、文本日志工具&#xff1a;N…...

Kafka 多线程开发消费者实例

目前&#xff0c;计算机的硬件条件已经大大改善&#xff0c;即使是在普通的笔记本电脑上&#xff0c;多核都已经是标配了&#xff0c;更不用说专业的服务器了。如果跑在强劲服务器机器上的应用程序依然是单线程架构&#xff0c;那实在是有点暴殄天物了。不过&#xff0c;Kafka …...

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 Maven打包失败

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 解决办法 勾上这个&#xff0c;打包时跳过测试代码...

在Ubuntu中固定USB设备的串口号

获取设备信息 lsusb # 记录设备的Vendor ID和Product ID&#xff08;例如&#xff1a;ID 0403:6001&#xff09;# 获取详细属性&#xff08;替换X和Y为实际设备号&#xff09; udevadm info -a /dev/ttyUSBX 结果一般如下 创建udev规则文件 sudo gedit /etc/udev/rules.d/us…...

Java后端开发: 如何安装搭建Java开发环境《安装JDK》和 检测JDK版本

文章目录 一、JDK的安装1、 打开 Oracle 官方网址2、点击产品 二、检测JDK是否安装成功以及JDK版本的查看1. 打开命令行窗口检测是否安装成功查看 JDK 版本 一、JDK的安装 1、 打开 Oracle 官方网址 Oracle官网地址:https://www.oracle.com/cn/ 2、点击产品 打开下载的JDK文件…...

AudioFlinger与AudioPoliceManager初始化流程

AF/APF启动流程 在启动AudioSeriver服务的过程中会对启动AF/APF。main_audioserver.cpp有如下代码&#xff1a; AudioFlinger::instantiate();AudioPolicyService::instantiate();AF初始化流程 1.AudioFlinger::instantiate() 1.1 AudioFlinger构造函数 void AudioFlinger:…...

Keepalive+LVS+Nginx+NFS高可用架构

KeepaliveLVSNginxNFS高可用架构 1. NFS 业务服务器&#xff08;192.168.98.138&#xff09;2. Web服务集群&#xff08;搭建RS服务器&#xff09;开机自启动自动挂载配置nginx&#xff08;为了区分Web1与Web2访问的文件内容&#xff09; 3. LVS主机&#xff08;Keepalivedlvs&…...

SpringBoot分布式项目订单管理实战:Mybatis最佳实践全解

一、架构设计与技术选型 典型分布式订单系统架构&#xff1a; [网关层] → [订单服务] ←→ [分布式缓存]↑ ↓ [用户服务] [支付服务]↓ ↓ [MySQL集群] ← [分库分表中间件]技术栈组合&#xff1a; Spring Boot 3.xMybatis-Plus 3.5.xShardingSpher…...

ctfshow WEB web8

首先确定注入点&#xff0c;输入以下payload使SQL恒成立 ?id-1/**/or/**/true 再输入一下payload 使SQL恒不成立 ?id-1/**/or/**/false 由于SQL恒不成立, 数据库查询不到任何数据, 从而导致页面空显示 由以上返回结果可知&#xff0c;该页面存在SQL注入&#xff0c;注入点…...

当AI代写作业成为常态:重构智能时代的教育范式

2023年春季,某重点高中教师发现全班35%的作文呈现相似AI生成特征;同年国际数学竞赛中,参赛选手使用AI解题引发伦理争议。当GPT-4在SAT考试中取得1520分,当Claude3能撰写专业学术论文,教育领域正面临百年未有之大变革。这场技术革命倒逼我们重新思考:在AI能完成知识性任务…...

基于杜鹃鸟鲶鱼优化(Cuckoo Catfish Optimizer,CCO)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码

一、杜鹃鸟鲶鱼优化算法 杜鹃鸟鲶鱼优化&#xff08;Cuckoo Catfish Optimizer&#xff0c;CCO&#xff09;算法模拟了杜鹃鸟鲶鱼的搜索、捕食和寄生慈鲷行为。该算法的早期迭代侧重于执行多维包络搜索策略和压缩空间策略&#xff0c;并结合辅助搜索策略来有效限制慈鳔的逃逸空…...

Ubuntu 22.04.5 LTS 设置时间同步 ntp

提示&#xff1a;文章为操作记录&#xff0c;以备下次使用 文章目录 前言一、设置ntp1.1替换国内源1.2 更新源&安装1.3 验证 前言 设置时间同步&#xff0c;环境版本 # cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.5 LTS" NAME"Ubuntu" VERSION_…...

搭建前端环境和后端环境

搭建前端环境 ①、安装vscode&#xff0c;并安装相应的插件工具 ②、安装node.js&#xff0c;可以选择当前版本&#xff0c;或者其他版本 ③、创建工作区 创建一个空文件夹&#xff0c;然后通过vscode工具打开&#xff0c;保存为后缀名为.code-workspace ④、从gitee…...

【VirtualBox 安装 Ubuntu 22.04】

网上教程良莠不齐&#xff0c;有一个CSDN的教程虽然很全面&#xff0c;但是截图冗余&#xff0c;看蒙了给我&#xff0c;这里记录一个整洁的教程链接。以备后患。 下载安装全流程 UP还在记录生活&#xff0c;看的我好羡慕&#xff0c;呜呜。 [VirtualBox网络配置超全详解]&am…...

好用的Markdown阅读编辑器Typora破解记录

Typora破解 一、下载Typora二、安装Typora三、破解Typora &#x1f600; 记录一下Typora破解记录&#xff0c;怕不常用忘记咯&#xff0c;感觉自己现在的脑子就像我的肠子一样&#xff0c;刚装进去就么得了。。。&#x1f614; Typroa算是用起来很舒服的Markdown阅读器了吧&am…...

系统与网络安全------Windows系统安全(1)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 用户账号基础 本地用户账号基础 用户账号概述 用户账号用来记录用户的用户名和口令、隶属的组等信息 每个用户账号包含唯一的登录名和对应的密码 不同的用户身份拥有不同的权限 操作系统根据SID识别不同…...

使用 Docker Compose 在单节点部署多容器

Docker Compose 是什么 Docker Compose 是一个用于运行多容器应用的工具, 通过一个docker-compose.yml文件, 配置应用的服务、网络和卷&#xff0c;然后使用简单的命令启动或停止所有服务 为什么需要 Docker Compose 当你有一个包含多个相互依赖的容器应用时&#xff0c;手动…...

CSS中的em,rem,vm,vh详解

一&#xff1a;em 和 rem 是两种相对单位&#xff0c;它们常用于 CSS 中来设置尺寸、字体大小、间距等&#xff0c;主要用于更灵活和响应式的布局设计。它们与像素&#xff08;px&#xff09;不同&#xff0c;不是固定的&#xff0c;而是相对于其他元素的尺寸来计算的。 1. em …...

MQTT之重复消息(5、TCP重连和MQTT重连)

目录 1. TCP 协议层的重传&#xff08;原生机制&#xff09; 2. 触发 TCP 重传的具体场景 3、TCP 重传的关键参数&#xff08;了解&#xff09; 第一、重传超时(RTO - Retransmission Timeout) 第二、重传次数 第三、累计时间 vs 本次 RTO 的区别 第四.常见问题解答 第…...

Ground Truth(真实标注数据):机器学习中的“真相”基准

Ground Truth&#xff1a;机器学习中的“真相”基准 文章目录 Ground Truth&#xff1a;机器学习中的“真相”基准引言什么是Ground Truth&#xff1f;Ground Truth的重要性1. 模型训练的基础2. 模型评估的标准3. 模型改进的指导 获取Ground Truth的方法1. 人工标注2. 众包标注…...

Android学习总结之通信篇

一、Binder跨进程通信的底层实现细节&#xff08;挂科率35%&#xff09; 高频问题&#xff1a;“Binder如何实现一次跨进程方法调用&#xff1f;”   候选人常见错误&#xff1a;   仅回答“通过Binder驱动传输数据”&#xff0c;缺乏对内存映射和线程调度的描述混淆Binde…...

自动化发布工具CI/CD实践Jenkins部署与配置教程

1. 前言背景 其实一直想把jenkins 的笔记整理下&#xff0c;介于公司这次升级jenkins2.0 &#xff0c;根据自己部署的一些经验&#xff0c;我把它整理成笔记。 之前我们的jenkins1.0 时代 还一直停留在 free style 或者 maven 风格的项目&#xff0c;随着项目的日益增多&#x…...

kubernet在prometheus+alertmanager+grafana框架下新增部署loki模块

整个框架拓扑图 #mermaid-svg-OK7jgNZ2I7II8nJx {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OK7jgNZ2I7II8nJx .error-icon{fill:#552222;}#mermaid-svg-OK7jgNZ2I7II8nJx .error-text{fill:#552222;stroke:#552…...

Ubuntu下UEFI安全启动安装Nvdia驱动

简介 众所周知&#xff0c;Ubuntu默认使用Nouveau开源驱动&#xff0c;其性能受限&#xff0c;因此我们需要安装Nvidia专用驱动。 安装专用驱动的一般方法非常简单&#xff0c;只需要sudo ubuntu-drivers devices && sudo ubuntu-drivers autoinstall即可&#xff0c…...

Java多线程与高并发专题—— CyclicBarrier 和 CountDownLatch 有什么异同?

引入 上一篇我们了解CountDownLatch的原理和常见用法&#xff0c;在CountDownLatch的源码注释中&#xff0c;有提到&#xff1a; 另一种典型用法是将一个问题分解为 N 个部分&#xff0c;用一个Runnable描述每个部分&#xff0c;该Runnable执行相应部分的任务并对闭锁进行倒计…...

【深度学习】不管理论,入门从手写数字识别开始

1. 环境安装 学习深度学习&#xff0c;开发语言是Python。Python开发工具有很多。其中 anaconda vscode的Python开发环境很好用&#xff0c;建议使用这个组合。 编写手写数字识别测试代码&#xff0c;需要在使用Anaconda安装以下4个库&#xff1a; NumpyScipymatplotlibsci…...

Docker使用ubuntu

1. 更换源 sudo nano /etc/docker/daemon.json //daemon.conf查找最新可用的源1、2&#xff0c;手动查找会不断更新&#xff01; 1.1 添加DNS sudo nano /etc/resolv.confnameserver 8.8.8.8 nameserver 8.8.4.4 2. 修改配置文件后重新加载 sudo systemctl daemon-relo…...

Windows 系统下多功能免费 PDF 编辑工具详解

IceCream PDF Editor是一款极为实用且操作简便的PDF文件编辑工具&#xff0c;它完美适配Windows操作系统。其用户界面设计得十分直观&#xff0c;哪怕是初次接触的用户也能快速上手。更为重要的是&#xff0c;该软件具备丰富多样的强大功能&#xff0c;能全方位满足各类PDF编辑…...

影响HTTP网络请求的因素

影响 HTTP 网络请求的因素 1. 带宽 2. 延迟 浏览器阻塞&#xff1a;浏览器会因为一些原因阻塞请求&#xff0c;浏览器对于同一个域名&#xff0c;同时只能有4个连接&#xff08;这个根据浏览器内核不同可能会有所差异&#xff09;&#xff0c;超过浏览器最大连接数限制&…...

OpenGL —— 流媒体播放器 - ffmpeg解码rtsp流,opengl渲染yuv视频(附源码,glfw+glad)

🔔 OpenGL 相关技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 效果 说明 FFMpeg和OpenGL作为两大技术巨头,分别在视频解码和图形渲染领域发挥着举足轻重的作用。本文将综合两者实战视频播放器,大概技术流程为:ffmpeg拉取rtsp协议视频流,并…...

Java + LangChain 实战入门,开发大语言模型应用!

在 Baeldung 上看到了一篇介绍基于 Java LangChain 开发大语言模型应用的基础入门文章&#xff0c;写的非常不错&#xff0c;非常适合初学者。于是&#xff0c;我抽空翻译了一下。 原文地址&#xff1a;https://www.baeldung.com/java-langchain-basics翻译&#xff1a; Java…...

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解 文章目录 【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解前言YOLOV1的模型结构YOLOV1模型的基本执行流程YOLOV1模型的网络参数YOLOV1模型的训练方式 YOLOV1的核心思想前向传播阶段网格单元(grid cell)…...

软考《信息系统运行管理员》- 6.2 信息系统硬件的安全运维

硬件安全运行的概念 硬件安全运行的含义是保护支撑信息系统业务活动的信息系统硬件资产免遭自然灾害、人 为因素及各种计算机犯罪行为导致的破坏。硬件安全通常包括环境安全、设备安全和介质安全。 硬件安全运行的影响因素 硬件安全运行的影响因素主要有&#xff1a; (1)自然…...

SQL 视图

SQL 视图 引言 SQL&#xff08;结构化查询语言&#xff09;视图是数据库管理系统中的一种重要概念。它提供了一个虚拟的表&#xff0c;该表由一个或多个基本表的数据组成&#xff0c;用户可以通过视图查询数据&#xff0c;而不需要直接操作基本表。本文将详细介绍SQL视图的定…...

Chrome 开发环境快速屏蔽 CORS 跨域限制!

Chrome 开发环境快速屏蔽 CORS 跨域限制【详细教程】 ❓ 为什么需要临时屏蔽 CORS&#xff1f; 在前后端开发过程中&#xff0c;我们经常会遇到 跨域请求被浏览器拦截 的问题。例如&#xff0c;你在 http://localhost:3000 调用 https://api.example.com 时&#xff0c;可能会…...

数值稳定性 + 模型初始化和激活函数

数值稳定性 神经网络的梯度 考虑如下有 d 层的神经网络 h t f t ( h t − 1 ) and y ℓ ∘ f d ∘ … ∘ f 1 ( x ) \mathbf{h}^t f_t(\mathbf{h}^{t-1}) \quad \text{and} \quad y \ell \circ f_d \circ \ldots \circ f_1(\mathbf{x}) htft​(ht−1)andyℓ∘fd​∘…∘…...

【消息队列】几个mq组件的对比: redis stream/rabbitmq/rocketmq/kafka

1. 消息队列 几个组件&#xff1a; Redis Stream&#xff1a;适用于对性能要求高、可靠性要求不高的场景Rocket MQ&#xff1a;可靠性高&#xff0c;性能优秀&#xff0c;但官方对 go 不太友好&#xff0c;sdk 缺少很多功能支持Rabbit MQ&#xff1a;性能适中&#xff0c;使用…...

TCP协议与wireshark抓包分析

一、tcp协议格式 1. 源端口号 &#xff1a; 发送方使用的端口号 2. 目的端口号 &#xff1a; 接收方使用的端口号 3. 序号: 数据包编号 &#xff0c; tcp 协议为每个数据都设置编号,用于确认是否接收到相应的包 4. 确认序列号 : 使用 tcp 协议接收到数据包&#xff0c…...