自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 收藏
  • 关注

原创 算法精讲——前缀和:小白也能秒懂的时空魔法

天数12345金额25134如果要算第3天到第5天存了多少钱,传统做法是:1+3+4=8元💰预先计算累计金额,这样就能快速查询任意区间的和!// 前缀和数组计算(索引从1开始更直观)i++){// 得到 [0,2,7,8,11,15]场景暴力法时间复杂度前缀和优化后一维区间查询O(1)二维矩阵查询O(mn)O(1)统计子数组O(n²)O(n)

2025-03-14 21:45:12 475

原创 Java 集合框架大师课:集合框架的暗黑料理(六)

🔗。

2025-03-14 21:40:48 957

原创 算法精讲 | 树(番外):平衡世界的四大守护者:AVL vs 红黑树 vs B树 vs B+树

① 文件系统需要快速定位单个文件 ② B树非叶节点存数据有利小文件 ③ B+树更适合范围扫描。是强迫症的AVL,潮流的红黑树,还是磁盘大师B+树?比如4KB页,假设key占16B,t≈4KB/(16B+8B)=170。:① 查询更稳定(都要到叶子层) ② 范围查询吊打B树 ③ 非叶节点更"苗条":为什么Linux文件系统用B树而不用B+树?:红黑树为什么比AVL树应用更广?:HashMap为什么不用红黑树?:为什么数据库用B+树不用B树?:B+树叶子链表如何维护?:B树的t值怎么选?

2025-03-12 16:42:54 582

原创 Java 集合框架大师课:集合框架源码解剖室(五)

💣 警告:本章包含大量,建议搭配咖啡因饮料阅读!☕️。

2025-03-11 22:37:55 808

原创 算法精讲 | 树(三):删除操作の外科手术——像园艺大师一样修剪二叉树

既要精准切除病灶,又要完美缝合伤口!:方案一:仅删除第一个遇到的节点;方案二:设计支持重复值的BST结构。:你曾在删除操作中踩过哪些坑?在评论区分享你的惊险故事吧!:高度、平衡因子、父指针、子树大小(若维护):中序遍历结果保持严格递增序即为合法BST。:如何证明删除后的树仍然是BST?:C++选手忘记释放节点内存。:删除操作会影响哪些树属性?:在右子树找最小值时漏判空。:如何处理重复元素的删除?:删除后忘记检查平衡因子。:多线程环境下非原子操作。:未及时更新父节点引用。:处理超大树时未优化。

2025-03-11 22:04:31 656

原创 Java 集合框架大师课:性能调优火葬场(四)

🔥!调优就像吃重庆火锅——要选对食材(数据结构)还要控制火候(算法)🌶️。

2025-03-10 19:12:58 523

原创 算法精讲 | 树(二):BFS层序遍历の魔法——像水波纹一样扫描整棵树

小明用DFS解二叉树的右视图总超时,直到他发现BFS层序遍历就像超市结账时排队——:找最短路径时(如迷宫问题),BFS像警犬搜救,DFS像游客瞎逛!:最差情况是完美二叉树,最后一层有⌈n/2⌉个节点,所以是。:队列空且所有节点处理完毕,就像快递站所有包裹都派送完!:每个节点进出队列各一次,时间复杂度是妥妥的。:遍历子节点时从固定左右子节点变成遍历。:层序遍历序列化,空节点用特殊符号标记。:BFS层序遍历的时间复杂度怎么计算?:多源BFS,所有0同时作为起点扩散。集合,像贴封条一样标记已访问节点!

2025-03-10 18:43:11 1531

原创 算法精讲——树(一):DFS 的奇妙探险之旅

策略不撞南墙不回头,优先探索最深的节点实现方式:递归 / 栈(Stack)时间复杂度:O(n)(每个节点访问一次)

2025-03-04 15:42:17 870

原创 Java 集合框架大师课:集合流式编程革命(三)

/ 实现字符串拼接收集器StringBuilder::new, // 容器工厂(sb, s) -> sb.append(s).append("🐶"), // 累加器(sb1, sb2) -> sb1.append(sb2), // 合并器StringBuilder::toString // 最终转换String result = Stream.of("柴犬", "柯基", "哈士奇")// 🐾 输出:柴犬🐶柯基🐶哈士奇🐶。

2025-02-24 21:15:44 1146

原创 算法精讲--贪心算法(一):小白也能看懂的解题秘籍

▎算法江湖生存法则✨四两拨千斤:用简单策略解决复杂问题⚡效率之王:时间复杂度往往最优🧩思维体操:培养最优决策直觉特征贪心算法暴力枚举动态规划时间复杂度O(n log n)O(2^n)O(n²)空间复杂度O(1)O(n)O(n)是否需要历史信息不需要需要需要典型应用最小生成树密码破解背包问题。

2025-02-24 21:10:08 1021

原创 一文搞懂 Cookie、Session、Token、JWT 的恩怨情仇

开发路上总有几个绕不开的「小问题」,今天我们就来盘一盘 Web 开发中的四大认证机制!

2025-02-23 21:47:57 829

原创 Java 集合框架大师课:遍历宇宙的降龙十八掌(二)

🚀:集合框架战力值+70% | 建议边喝肥宅快乐水边敲代码 🥤。

2025-02-22 21:08:47 321

原创 算法精讲--动态规划(三):树形DP与状态机模型

状态定义 :转移方程 :🚀 Step3:执行验证测试案例 :🎯 Step4:总结优化(后序遍历)优化解析 :测试案例:🎯 Step4:总结优化(逻辑融合)优化解析:测试案例:🎯 Step4:总结优化(逻辑精简)优化解析:🎯 Step4:总结优化(状态压缩)优化解析:状态定义 :🎯 Step4:总结优化(滚动变量)优化解析 :优化原则:拓展问题:2246. 相邻字符不同的最长路径提示:《动态规划(四):背包九讲》预习指南:复杂度预对比:📢 互动环节:你在树

2025-02-22 14:22:07 1206

原创 Java集合框架大师课:从青铜到王者的数据结构指南(一)

Java集合框架(Java Collections Framework)——开发者的数据管理瑞士军刀!🛠️ 取代Vector/Hashtable等老古董📦 统一数据容器操作规范⚡ 提供高性能数据结构实现使用场景首选方案避坑指南高频查询频繁增删快速去重✅ HashSet❌ TreeSet需要排序✅ TreeSet❌ HashSet线程安全需求❌ HashMap。

2025-02-21 18:30:55 686

原创 动态规划数组维度选择指南

维度选择适用场景经典例题空状态/防越界/严格对齐编辑距离🔄最长子序列📏m*n网格问题/可保护边界/空间优化不同路径🛤️最小路径和💰✨ 小技巧:下次写 DP 前,先画个状态转移草图,再对照这个表格检查,保你维度选择不再纠结!🎯。

2025-02-21 14:41:01 627

原创 算法精讲--动态规划(二):多维DP与状态压缩技巧

多维DP是动态规划的进阶形态,通过多维状态定义# 单序列DP(一维)# 多维DP(二维经典)核心区别单序列DP多维DP状态维度👉 一维数组👉 二维/三维数组适用场景🎯 线性序列问题🎯 网格/矩阵问题转移复杂度⚡ 相对简单⚡ 多方向转移经典问题打家劫舍编辑距离。

2025-02-20 15:37:23 933

原创 算法精讲--动态规划四步法则

/ dp[i][j]表示将A的前i个字符转换为B的前j个字符的最小代价阶段划分每个字符处理视为一个阶段,总阶段数为max(m,n)状态变量(i,j)表示处理到A的第i个字符和B的第j个字符的状态方案时间复杂度空间复杂度适用场景基础二维DPO(mn)O(mn)常规规模数据滚动数组O(mn)O(n)单行依赖场景递归+备忘录O(mn)O(mn)树状结构处理。

2025-02-20 14:50:25 398

原创 解析跨域:原理、解决方案与实践指南

在现代Web开发中,跨域问题是一个常见且重要的挑战。随着互联网应用的日益复杂,前端与后端之间的交互越来越频繁,跨域请求的需求也随之增加。

2025-02-19 20:18:32 1278

原创 Java知识速记:Map接口的实现类解析

Map接口是Java Collections Framework的一部分,主要用于存储键值对(key-value pairs)。每个键都是唯一的,可以通过键快速访问对应的值。Map接口的设计目标是提供一种简单、有效的机制来存储和检索数据。HashMap是最常用的Map实现类,基于哈希表的原理,提供常量时间复杂度的查找、插入和删除操作。LinkedHashMap是HashMap的扩展,保持插入顺序,适合需要维持元素有序性的场景。TreeMap基于红黑树实现,提供自然排序或定制排序的键值对存储。

2025-02-19 19:33:32 468

原创 前端知识速记 - CSS篇:可继承属性与不可继承属性

大多数可继承属性与文本样式相关,用于定义文本的外观。比如color和font-size等。:通过继承父元素的样式,可以减少子元素上的样式设置,从而保持样式结构的简洁性。:当我们在一个文档中有多个嵌套的元素时,可继承属性能够有效地为整个树形结构提供一致性。

2025-02-18 15:55:45 545

原创 算法精讲--知识扩充:循环条件的选择原则

条件形式适用场景算法示例关键判断点避免越界、左闭右开区间数组遍历、KMP 算法索引是否从 0 开始<=闭区间覆盖、数学计算二分查找、动态规划是否需要包含终止点==明确的状态终止条件递归终止、链表遍历是否需精确匹配某个值或状态。

2025-02-18 15:43:46 1175

原创 算法精讲–动态规划(一):基础与核心思想

优化维度原始方案二分查找优化法时间复杂度空间复杂度O(n)O(n)O(n)O(n)扩展性数据量增大时性能下降能处理大规模数据优化维度原始方案滚动变量法时间复杂度OnO(n)OnOnO(n)On空间复杂度OnO(n)OnO1O(1)O1扩展性占用较多内存节省内存,适合大规模数据。

2025-02-18 11:13:15 1075

原创 前端知识速记--HTML篇:HTML5的新特性

新特性描述示例语义化标签提高网页可读性与SEO<header><article>音视频支持简化媒体内容嵌入,无需插件<audio><video>Canvas元素通过JavaScript绘制图形<canvas>本地存储支持在浏览器中存储数据增强的表单功能新增输入类型,优化表单验证。

2025-02-17 23:25:04 595

原创 数据库知识速记:事物隔离级别

隔离级别脏读不可重复读幻读特点读未提交是是是最低的隔离级别,性能最好读已提交否是是避免脏读,读取已提交数据可重复读否否是保证同一事物多次读取一致串行化否否否最高隔离级别,性能最低。

2025-02-17 23:19:18 556

原创 计算机网络知识速记 HTTPS的工作流程

HTTPS是对HTTP协议的安全增强,它通过SSL/TLS协议在客户端和服务器之间建立一个安全的加密通道。HTTPS不仅保证了在数据传输过程中的保密性,还确保数据的完整性和身份认证。

2025-02-16 21:51:45 891

原创 前端知识速记:BFC与IFC

是一种独立的格式化区域,其中的元素与外部环境互不影响。BFC的主要作用包括避免元素重叠、控制外边距合并等。是内联元素的上下文,主要用于控制内联元素的布局,如文本和图片。IFC允许元素在行内流动,从而实现文本混排。

2025-02-16 21:37:31 569

原创 Java知识速记:ArrayList与LinkedList的区别

ArrayList是基于动态数组实现的列表,它可以根据需要自动扩展容量。其优点是随机访问性能高,适合频繁读取操作的场景。LinkedList则是基于链表实现的列表。它由节点构成,每个节点包含数据和指向下一个节点的引用。这使得它在插入和删除操作方面表现出色。

2025-02-15 21:42:47 400

原创 前端知识速记--css篇:CSS3中的常见动画及实现方式

动画类型特性语法格式示例代码过渡 (Transitions)简单状态变更,平滑过渡关键帧动画 (Keyframes)定义多个动画状态,复杂效果动画延迟与方向支持延迟和反向执行缩放和旋转对元素进行缩放和旋转。

2025-02-15 21:29:53 576

原创 计算机网络知识速记 :HTTP多个TCP连接的实现方式

在当今互联网高速发展的背景下, web 应用程序对性能的要求日益增加。在众多网络协议中,HTTP (超文本传输协议) 的性能优化显得尤为重要,尤其是在多个TCP连接的管理和实现上。

2025-02-15 21:16:28 900

原创 前端知识速记—JS篇:JS数组方法

2. concat()方法用于合并两个或多个数组,返回新数组。3. splice() 方法的语法如下:参数说明:: 从数组中开始操作的位置(索引)。从 0 开始计数。如果 start 为负数,则表示从数组末尾开始的偏移量。: 要删除的元素个数。如果不指定这个参数或设置为 0,表示不删除元素。: 要添加到数组中的元素,这些元素从 索引位置开始插入。示例:我们来具体分析这行代码:假设当前的 数组如下:操作过程:起始位置: 设置为 1,表示我们从数组的索引 1 开始操作。也就是

2025-02-14 22:20:13 1109

原创 Java知识速记:Exception与Error的区别

异常是程序在运行时发生的事件,它会干扰程序的正常执行。Java使用Exception类及其子类来表示可以被程序捕获和处理的错误。处理异常的主要方式是使用try-catch块。与异常不同,Error表示程序无法处理的严重问题。这通常与系统本身、硬件或Java虚拟机的内部故障有关,程序一般无法恢复。常见的Error包括和。

2025-02-14 21:12:52 370

原创 操作系统知识速记:实现线程同步的方式

在当今的多核和多线程世界里,线程同步是确保数据一致性和提高系统性能的关键。

2025-02-14 21:07:11 319

原创 前端知识速记—JS篇:原型与原型链

在JavaScript中,原型是构造函数所关联的一个对象,它决定了通过该构造函数创建的所有实例所共享的属性和方法。原型链是JavaScript中实现对象继承的关键机制。它是由多个原型构成的链条,每个对象都有一个__proto__属性,指向其构造函数的原型对象。

2025-02-13 20:23:19 677

原创 计算机网络知识速记:HTTP/2.0与HTTP/1.1

在现代网络应用中,超文本传输协议(HTTP)是基础的通信协议。随着技术的发展,HTTP协议也经历了多个版本的演变,其中HTTP/2.0引入了一系列显著改进以提升网络性能和用户体验。

2025-02-13 19:58:55 745

原创 Java知识速记:异常类

异常类是Java中的一种特殊对象,用于处理程序运行时发生的错误。这些错误可以是用户输入错误、网络连接失败、文件未找到等。Java提供了一整套的异常处理机制,使得程序员能够有效地捕获和处理这些异常。所有的异常都是派生于类的实例,意味着每个异常都是通过继承而来的。在Java中,异常主要分为两类:受检查异常是在编译时需要被检查的一类异常。它们通常是由于外部环境问题导致的,例如文件未找到或网络故障。这些异常要求程序员必须显式地处理或声明,否则编译器会报错。以下是一个简单的示例:2.2 未检查异常(Unchecke

2025-02-13 19:52:06 314

原创 前端知识速记--JS篇:instanceof

在JavaScript中,instanceof运算符用于检测一个对象是否是另一个对象的实例。。如果obj是的实例,它将返回true,否则返回false。这是一个判断对象的原型链上是否存在构造函数的prototype属性的简单方法。

2025-02-12 19:56:25 672

原创 计算机网络知识速记:HTTP1.0和HTTP1.1

HTTP1.0与HTTP1.1之间的区别在于前者的简单性与后者的复杂性,HTTP1.1通过优化连接管理、丰富头信息、增强缓存控制等方式,大幅提升了网络的效率与用户体验。特性HTTP1.0HTTP1.1连接管理非持久连接,每次请求新建连接持久连接,复用同一连接请求/响应头简单,缺少扩展性丰富,支持更多字段缓存控制基本的缓存支持精确的缓存机制管道化不支持支持请求管道化状态码状态码种类有限新增24个状态码,完善错误处理带宽优化不支持断点续传支持部分内容请求。

2025-02-12 19:45:16 747

原创 Java知识速记:ArrayList 和 Array

数组是Java中的一种数据结构,用于存储固定大小的元素集合。数组在创建时就需定义其大小,并且一旦定义后,大小不可更改。这使得数组在存储相对固定的数量数据时,能够提供较高的访问效率。

2025-02-12 19:36:50 361

原创 前端知识速记:浏览器缓存机制 - 强缓存与协商缓存

强缓存(也称为本地缓存)和协商缓存(也称为弱缓存)。当浏览器请求资源时,首先检查本地缓存是否命中。如果命中,则直接从缓存中读取资源,无需向服务器发送任何请求。当强缓存未命中时,浏览器会向服务器发送请求,询问服务器资源是否发生变化。如果服务器告知资源未改变,则浏览器从缓存中读取资源;如果服务器告知资源已改变,则浏览器会下载新资源并更新缓存。

2025-02-11 16:24:08 1412

原创 数据库知识速记:一条SQL查询语句的执行过程

一条SQL查询语句,看似简单,实则蕴含着数据库系统精妙而复杂的运作。

2025-02-11 16:19:46 1134

诗游记.zip

诗游记

2024-11-11

flaskproject1.zip

后端开发: 1. 创建用户管理模块,包括用户注册、登录验证等功能。 2. 创建诗词管理模块,包括关键词设置、关键词归纳等功能。 3. 实现评论管理模块,包括评论存储、显示和删除功能。 4. 实现赏析内容管理模块,供管理员添加和用户查看。 5. 实现诗词收藏和推送功能。 前端开发: 1. 设计并开发登录/注册页面。 2. 设计主页面的功能板块,包括搜索框、归纳词板块、关键词板块、诗句评论、诗词赏析等。 3. 确保页面结构清晰,用户友好。 数据流图实现: 1. 根据业务流程图和数据流图,设计数据库表结构。 2. 使用 SQL 语句创建用户表、诗词表、关键词表、归纳词表、评论表等。 3. 编写后端代码来处理数据流,包括用户数据流、诗词数据流和评论数据流。

2024-11-11

基于node.js的在线聊天室

#这个项目是基于 Node.js 开发的,主要使用了以下技术和库: 1. Express: 一个流行的 Node.js Web 应用框架,用于创建服务器和处理 HTTP 请求。它提供了许多便利 的功能,使得构建 Web 应用变得更加简单。 2. http: Node.js 原生模块,用于创建 HTTP 服务器。在这个项目中,它被用来创建一个 HTTP 服务器实 例,以与 Express 一起使用。 3. express-ws: 这是一个用于在 Express 应用中实现 WebSocket 支持的库。它使得可以通过 Express 处理 WebSocket 连接,适合需要实时通信的应用,比如聊天应用。 4. 静态文件服务: 使用 中间件提供静态文件服务,例如 HTML、CSS 和 JavaScript 文件,这些文件位于 目录下。express.staticpublic 5. 路由: 定义了一个路由,当用户访问根 URL () 时,服务器将返回 文件。app.get/index.html 6. 聊天和 P2P 模块: 通过 和 导入并初始化聊天和 P2P(点对点)功能模块,具

2024-11-11

一个基于Bootstrap框架的个人秀项目

功能和部分: - 介绍部分(About Me):包含个人简介、背景信息、教育经历等。 - 技能部分(Skills):展示技术技能和专业能力。 - 项目部分(Portfolio):展示个人参与或完成的项目。 - 联系部分(Contact):提供联系方式,如邮箱、社交媒体链接等。 - 博客部分(Blog):用于分享个人的技术文章或观点(可选)。 - 侧边栏(sidebar):用于在页面的不同部分之间进行导航。

2024-11-11

拼多多管理系统案例分析课程设计报告:供应链管理、人文关怀与技术创新

内容概要:本文对拼多多管理系统进行了全面分析,涵盖供应链管理、人文关怀、客户关系管理(CRM)、企业资源计划(ERP)和社交媒体应用等方面。文章详细介绍了拼多多在供应链管理方面的创新实践,如C2M模式、农产品直供、拼团机制和智能物流等。同时,探讨了公司在人文关怀方面的努力,包括农村扶贫、员工福利和用户权益保护等。在客户关系管理方面,文章分析了拼多多的社交化营销、个性化推荐和优惠体系。在ERP系统应用方面,讲解了订单管理、数据分析与决策支持等内容。最后,文章还讨论了社交媒体的深度融合、内容营销和品牌形象建设等。 适合人群:电子商务从业者、企业管理者、市场营销人员和研究人员。 使用场景及目标:适用于深入了解拼多多的管理模式及其成功经验,帮助企业制定发展战略,提升管理效率和市场竞争力。 其他说明:本文不仅总结了拼多多的成功实践,还提出了未来发展的可行建议,具有较强的实用价值。

2024-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除