数据结构与算法

【数据结构】深入解析选择排序与堆排序:从基础到高效实现的完全指南

文章目录 选择排序 1基本思想: 2 直接选择排序: 3. 堆排序 基本思想 堆排序的C语言实现 堆排序的工作原理 堆排序的性能分析 4. 选择排序与堆排序的比较 5. 选择排序的变种与优化 结语 结语 选择排序 1基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的

【c++】STL容器-哈希概念介绍、哈希冲突的解决——闭散列和开散列

小编个人主页详情<—请点击 小编个人gitee代码仓库<—请点击 c++系列专栏<—请点击 倘若命中无此运,孤身亦可登昆仑,送给屏幕面前的读者朋友们和小编自己! 目录 前言 一、哈希概念介绍 二、哈希冲突 三、闭散列 闭散列(开放定址法)的模拟实现 铺垫 插入 删除、查找 测试一

DeepSeek总结的postgres_dba诊断报告使用

原文地址: 🐘 postgres_dba34 个 PostgreSQL 诊断报告,直接在 psql 内使用。 无需代理,无需守护进程,无需外部依赖——只需 SQL。包括:膨胀估算、索引健康度、锁树、清理监控、查询分析、损坏检查、缓冲池

【总结】维度数据建模过程及举例

数据仓库2.png 1. 摘要 本文介绍数据仓库中维度数据建模的过程描述,并举一个示例以加深对相关概念的理解。 2. 内容 2.1 维度模型定义 维度模型是数据仓库领域大师Ralph Kimall所倡导,他的《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较

Pig4Cloud之jasypt 配置文件加密

简介 Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。 引入Jasypt依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spri

Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换

一、关键字关键词:Node.js、自动化脚本、批量替换、前端工程化、CI/CD 二、项目背景在公司海外业务拓展过程中,我们 上线了多款产品,这些项目之间: 共用同一套主代码; 但 品牌名称、AppID、CDN 域名、图片资源 均不同; 每次新项目上线都需要手动替换十几个关键配置。 这样的维护方式存在几

Dockerfile及compose文件深度解析

前言Docker是一种开源的容器化平台,用于开发、部署和运行应用程序。相比传统虚拟机,Docker容器更加轻量(启动时间通常在秒级),资源利用率更高,且能保持开发、测试和生产环境的一致性。 所以这期我们就来学习一下Dockerfile和Docker-compose,内容很干记得喝水 一、Docke

windows版mysql8.0安装详解

windows版mysql8.0安装详解 下载mysql8.0下载地址: 下载完成后将其解压到自定义目录下,我所有的工具都保存在D:\tools,解压完成后会看见以下目录: 随后,配置环境变量(我的电脑点右键,然后点属性,然后点击环境变量),步骤如下: 此

MySQL索引

索引 索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描 应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描 值分布很稀少的字段不适合建索引,例如"性别"这种只有两三个值的字段 字符字段只建前缀索引 字符字段最好不要做主键 不用外键,由程序保证约束

MySQL——并发insert on duplicate key update遇见死锁

前言 数据库死锁问题,是一个老生常谈且很常见的问题,网上也有非常多对于各类死锁场景的解析和复现,但凡和死锁有关,无外乎不涉及数据库隔离等级、索引、以及innodb锁等相关原因。 一、问题的背景: 我们的数据库中的发生死锁的表是具有”多列组合构建的唯一索引“(不包含自增的主键),且数据库的隔离等级为Read Committed,另外对于这个表来说是写入远大于读取的,由于业务的原因,经常会出现同一数据