Kun's Blog


一个用于记录点滴的博客

LLM、Agent 与 MCP 概念

LLM、Agent、MCP、Skill、MCP Server 工程实践

本文以统一视角解释大型语言模型(LLM)、Agent、MCP(Model/Model-Context Protocol)、Skill 与 MCP Server 之间的关系,给出整体架构图、交互流程、最小可运行实现思路与安全/运维建议,便于工程化落地。 概述 本文档以统一视角解释大型语...

动态规划(Dynamic Programming)

动态规划的整体思路、常见类型与典型例题(含 Java 实现与图示解析)

摘要:本文以学习者视角系统介绍动态规划(DP)的核心思想、常见变体与实现要点,配以若干典型例题的 Java 代码与图示解析,帮助你建立解题模板与工程实现能力。 1. 什么是动态规划 动态规划是一类通过将问题分解为相互重叠的子问题并保存子问题结果来避免重复计算的算法思想。解决 DP ...

红黑树

标准模板库中的二叉搜索树

本文继续了二叉搜索树系列,重点学习和总结了红黑树。首先会给出红黑树的定义,然后根据红黑树的性质,解析其在插入和删除操作中如何做到自平衡。最后,也同样提供C++代码实现以供参考。在介绍过程中,也会给出很多值得推敲和思考的点,同时也会不断的与之前的 AVL 树进行对比,从而加深对红黑树的印象...

AVL树

一种平衡二叉搜索树

本文主要对AVL树的进行学习总结,并使用C++代码来实现和测试。首先,介绍了AVL树的基本概念和性质。之后,采用图示和代码相结合的方式,重点讲解AVL树如何通过四种旋转方式来保持树的平衡。此外,通过与一般的平衡二叉搜索树进行对比,给出了正常插入,查找和删除三种操作在实现上应当增加的内容。...

二叉搜索树

继续来看特殊的二叉树

本文主要总结了二叉搜索树的基本概念和性质,并使用C++实现了具有插入,查找和删除功能的二叉搜索树。其中,在节点结构上考虑了键值两个属性,类型上采用模板编程。基于二叉搜索树的特性,在三种基本操作的实现上,使用了的二分策略和递归遍历的方式。特别的,在删除操作上,还利用了替换叶子节点到删除节点...

二叉堆

一种特殊的完全二叉树

本文首先介绍了二叉堆的定义,利用完全二叉树的性质,考虑用数组的形式表达二叉树。之后,着重讲解了二叉堆中的上浮和下沉操作来实现堆有序,使用C++来实现基础算法。然后,根据基本算法的不足,分别在交换次数,封装函数和构造堆的方式三个方面,对代码进行了提升。最后给出了测试的结果与构造堆的时间复杂...

动态数组的扩容分析

就从这个分析开始总结更多技术知识

预热问题 问题1: 对于动态数组(C++ Vector 和 Java Array List),数组大小是$n$,这时候从最后插入数据,时间复杂度将会是多少? 直接给出答案:正常插入一个数据,是 $O(1)$, 但最会坏的情况是 $O(n)$ 。 原因是因为当容量超出数组的限制, 那么会新建...

Ubuntu 16.04 配置

从新记录技术博客的开始

前言 很久没有整理自己博客了,之前都是一直在学习,总结也相对分散,要么是代码,要么就记在了其他地方。这次用了4年的笔记本系统出了问题,只好重做系统,之前弄了很久的配置也要重新来过,刚好趁这个机会,把所有添加的配置都记录下来。以此来就作为重写博客的开始吧。 Ubuntu主题 参考之前博客:...