数据结构与算法

【算法】快速排序

目录 一、递归版本 1.1 hoare版本 1.2 挖坑法 1.3 lomuto前后指针版本  二、快排优化 2.1 时间复杂度的计算 2.1.1 理想状态 2.1.2 有序状态 2.1.3 大量重复数据    2.2 优化     2.2.1 随机选key      2.2.2 三数取中     2.2.3 三路划分 三、非递归版本

基础算法篇(5)(蓝桥杯常考点)—动态规划(C/C++)

文章目录 动态规划 前言 线性dp 路径类dp 经典线性dp 背包问题分类 01背包问题 完全背包问题 多重背包 分组背包问题 混合背包问题 多维费用的背包问题 区间dp 动态规划 前言 在竞赛中,如果遇到动态规划的题目,只要不是经典题型,那么大概率就是以压轴题的形式出现 用动态规划解决问题的步骤:(递推形式) 1

MySQL学习笔记-执行过程和执行顺序

MySQL服务端是如何处理请求的,又是如何执行SQL语句的? 下面来学习一下。 MySQL整体的执行过程 连接器 连接器的主要职责就是: 1、负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行,其中MySQL在与客户端连接TC/IP的。 2、验证请求用户的账户和密码是否正确,如果账户和密码错误,会报错:Access

Select进阶查询·子查询

一、子查询定义: select查询命令里包含select查询命令,包涵的select 命令 放在() 里 包含的select查询命令可以在↓ where 命令之后、having命令之后 、from命令之后、select命令之后 二、命令格式: Where命令之后: SELECT 表头名列表 FROM 库.表 WHERE 表头名 判断符号 (SELECT查询命令); Having命令之后

MongoDB丢数据问题的分析

坊间有很多传说MongoDB会丢数据。特别是最近有一个InfoQ翻译的Sven的一篇水文(为什么叫做水文?因为里面并没有他自己的原创,只是搜罗了一些网上的博客,炒了些冷饭吃),其中又提到了丢数据的事情。大家知道作为一个数据库来说,数据的持久性基本上是数据库的最低要求了。如果MongoDB真的有那么糟糕的数据安全问题,它早就在技术选择众多的今天被无情地淘汰掉了。那么真相到底如何呢? 实事求是地来说,

事务版本控制

问题由来 近段时间我们项目需要实现一个事务版本控制的列式数据库,下面来讲一讲我们的设计: 开启事务时候进行一个事务说明 例如 1.开启事务 POST { "explainValue(操作解释)": "I want update some Info")(必要) } 2.关闭事务 POST 记录

Django 数据库连接丢失

在 Django 工程中,有时候我们需要在服务器上执行一些脚本。这些脚本需要 Django 的运行环境,还需要做一些 ORM 操作。一般大概流程如下: import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') import django django.setup() from app.t

MySQL查询优化(七):MySQL 的 count (*)真的很低效?

优化COUNT函数的查询在 MySQL 中最容易被误解的话题中能够排进前10名,我们可以在网上搜索了解更多关于 COUNT 优化的误解信息。在进行优化前,理解 COUNT 到底做了什么很重要。 COUNT 函数做什么用? COUNT 是一个专用的函数,通常有两种不同的方式:计算值和数据行。值指的是非空(Non-NULL)表达式(NULL表示值缺失)。如果我们在 COUNT的参数中指定了列名或其

mysql的MVCC机制

面试问题:如果两个客户端同时执行一个查询sql,为什么查出的数据可能不一样? 解答:是因为mysql底层维护了一个undo日志版本链和read-view一致性试图机制,在repeatable-read隔离级别下,一个事务开启之后,当执行查询语句的时候,就生成了一个read-view,之后查询就会根据一定的规则去undo日志版本链中比对数据;在read-commited隔离级别下,一个事务开启之后,

机器学习-聚类分析算法

一、聚类分析的定义聚类分析是一种无监督学习的统计分析方法。它的主要目的是将一个数据集中的样本(或观测值)按照某种相似性或距离度量划分成若干个类别(簇)。在聚类过程中,同一个簇内的样本具有较高的相似性,而不同簇之间的样本相似性较低。例如,在市场细分中,企业可以利用聚类分析将消费者划分为不同