数据结构与算法

C++ 贪心算法(Greedy Algorithm)详解:从思想到实战

贪心算法是一种在每一步决策中都采取当前 "当前最优" 选择的算法思想,它通过局部局部最优解来期望获得全局最优解。尽管并非所有问题都适用,但在具有贪心选择性质和最优子结构的问题中,贪心算法能以极高的效率(通常是线性或线性对数级)给出最优解。本文将从贪心算法的核心思想出发,结合 C++

力扣hot100_子串_python版本

一、560. 和为 K 的子数组 思路:这就是一道典型的前缀和的题 代码: class Solution: def subarraySum(self, nums: List[int], k: int) -> int: presum = [0] * (len(nums) + 1) for i, x in enumerate

MySQL慢查询:慢SQL定位、日志分析与优化方案

一个sql执行很慢的就叫慢sql,一般来说sql语句执行超过5s就能够算是慢sql,需要进行优化了 为何要对慢SQL进行治理 每一个SQL都需要消耗一定的I/O资源,SQL执行的快慢直接决定了资源被占用时间的长短。假设业务要求每秒需要完成100条SQL的执行,而其中10条SQL执行时间长导致每秒只能完成90条SQL,所有新的SQL将进入排队等待,直接影响业务 治理的优先级 master数据库

《数据结构初阶》【顺序栈 + 链式队列 + 循环队列】

《数据结构初阶》【顺序栈 + 链式队列 + 循环队列】 前言: 什么是栈? 栈有哪些实现方式?我们要选择哪种实现方式? -------------------------------- 什么是队列? 队列有哪些实现方式?我们要选择哪种实现方式? --------------

MySql数据库·管理表记录

一、管理表记录分为: 插入表记录(向表里添加行) 插入1条或多条记录给所有列或指定列赋值 更新表记录(修改行中列的值) 修改所有列表胡哦这符合条件列的值 删除表记录(删除表里的行) 加条件删除和批量删除 二、语法格式: 插入行: 插入1行或多行 INSERT INTO 库名.表名 VALUES (值列表1),(值列表2),(值列表3)...; 插入指定表头1行或多行数据 INSERT

【numpy笔记_4】索引、高级索引和切片

得益于模块功能的强大,numpy的索引方式玩得很花,索引也分为常规索引和高级索引,花式索引。 numpy的索引和切片逻辑与list十分相似,基本都以index为基。 之前提到结构化数组通过"name"的方式索引,有点像pandas的列名索引,这里先不多提,整体也好理解。 你可能猜到了,numpy的索引同样从零开始。 先把索引操作放一边,尝试理解它的逻辑: 虽然探究numpy的源代码并不容易,我们试

【烧脑算法】Dijkstra 算法:解决最短路问题

目录前言核心思想Dijkstra经典题目743. 网络延迟时间3341. 到达最后一个房间的最少时间 I3342. 到达最后一个房间的最少时间 II3112. 访问消失节点的最少时间3604. 有向图中到达终点的最少时间2642. 设计可以求最短路径的图类1514. 概率最大的路径1631. 最小体力消耗路径1786. 从第一个节点出发到最后一个节点的受限路径数总结前言Dijkstra 算法是一种

通俗易懂->哈希表详解

目录一、什么是哈希表?1.1哈希表长什么样?1.2为什么会有哈希表?1.3哈希表的特点1.3.1 取余法、线性探测1.3.2 映射1.3.3负载因子1.4哈希桶1.5闲散列与开散列1.6总结二、设计hash表1、哈希表的设计  1)插入  2)查找 3)删除4)字符串哈希算法2、封装map和set1、

【算法】二分查找(二)查找边界二分

目录题目介绍二段性1.二段搜索1.1搜索段端点1.1.1住段的左端点1.1.2住段的右端点2.死循环2.1中点偏向2.2多余搜索3.模板3.1求段左端点:​编辑3.2求段右端点:​编辑4.区别提交代码题目介绍34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)给你一个按照非递减顺序排列的整数数组 nums&#xff