数据结构与算法

详解数据结构之跳表

目录跳表的定义跳表的演化过程跳表的优化思路跳表如何保证效率跳表的时间复杂度跳表的空间复杂度跳表的查找跳表的插入跳表的删除跳表的模拟实现跳表与平衡搜索树及哈希表的对比跳表的定义跳表是由William Pugh(音译为威廉·普)发明的,最早出现于他在1990年发表的论文《Skip Lists: A Probabilistic Alternative to Balanced Trees》&

数据结构与算法 - 有向图的环检测:DFS与拓扑排序的两种方案

👋 大家好,欢迎来到我的技术博客! 💻 作为一名热爱 Java 与软件开发的程序员,我始终相信:清晰的逻辑 + 持续的积累 = 稳健的成长。 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯

【优选算法 | 二分查找】二分查找算法解析:如何通过二段性优化搜索效率

算法 相关知识点 可以通过点击 以下链接进行学习 一起加油! 双指针 滑动窗口 在本篇文章中,我们将深入解析二分查找算法的核心原理。从基本概念到实际应用,带你了解如何利用二分查找高效定位元素,提升搜索效率。无论你是刚接触算法的新手,还是想优化代码性能的老手,二分查找都是你不可忽视的强大工具&#

456.【开发工具】解决 Goland 报错:Found several packages [main, xxx] in ...

前两天为了在 Go 语言中使用 oracle 的数据库驱动,安装了个 _ "github.com/godror/godror"包,结果 Goland 就一直报错(红色下划线),作为一个强迫症开发者,是受不了程序里报错的(毕竟程序警告都不想容忍)。报错如下: 报错信息: Found several packages [main, time] in 'D:/v4_dev_env/go

领略算法真谛:单源最短路问题

嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的passion。准备好和我一起冲进代码的奇幻宇宙了吗?Let's go!

动态规划完整入门

动态规划完整入门教程 (Java版) 目录 什么是动态规划 核心概念 动态规划vs递归vs贪心 解题步骤 经典入门问题 常见问题类型 优化技巧 实战练习 什么是动态规划 简单理解动态规划(Dynamic Programming,简称DP)是一种通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。核心思想:把已经解决过的子问题的答

mysql生成千万级数据

1.生成数据需要的工具 mysql version:8.0.25 mysql workbench 2.生成数据的步骤 1.创建表 2.创建存储过程 3.调用存储过程 3.具体步骤 3.1创建表 create table data_test( id int not null auto_increment primary key comment '主键', c1 varcha

273. 【运维】小回顾

今天早上和大领导沟通完接下来的解决方案之后,顺利解决了客户那边由于服务器断电造成的软件故障,所幸昨天我的失误没有造成生产事故。 今天其实还有一次删除的工作要实施,这次谨记昨天的教训,反复验证完待删除文件已备份之后,才开始进行删除任务。总今往后,删除文件一定要慎之又慎,尤其是生产环境。 在今天实施解决方案的过程中其实还出现了个小插曲,我完成所有步骤之后,重启数据库,发现数据库启动成功了,但客户那边原

JPA 百万级数据量动态分页查询的优化

分页查询是业务中再常见不过的操作了,在数据量比较小,索引使用得当的情况下,一般的动态查询都没啥性能问题。然而当数据量比较达到百万,千万级,常规的分页查询一般都会出现性能问题。本文不会介绍什么分库分表,缓存之类的优化方案,这些东西在网上千篇一律,不值得在此处拿来讨论。本文将通过具体的案例来讲讲当数据量到达百万量级后,分页到底该怎么做,代码该怎么写。 前言 分页查询是业务中再常见不过的操作了,在数