摘要: C++ STL 快速入门指南 C++ STL(Standard Template Library,标准模板库)是 C++ 标准库的核心组成部分,提供了一套通用的容器、迭代器、算法和函数对象,极大地提高了代码的复用性、效率和可读性。 STL 六大组件 容器 (Containers):存储数据集合的类模 阅读全文
posted @ 2026-05-24 22:28 十七code 阅读(5) 评论(0) 推荐(0)
摘要: 在算法设计中,时间与空间的配置策略本质上是一个解决资源权衡的问题:在有限的计算资源和储存资源上,如何优化算法的执行效率。 常见的策略有以下两种: 1.空间换时间 核心思想:使用使用更多内存来存储中间结果,避免重复计算,从而降低时间复杂度。 如: 哈希表:O(1)查找代替O(n)遍历。 动态规划:保存 阅读全文
posted @ 2026-05-20 09:10 十七code 阅读(7) 评论(0) 推荐(0)
摘要: Java中的ArrayList随笔 ArrayList 是 Java 集合框架中最常用的类之一,位于 java.util 包中。它实现了 List 接口,底层基于动态数组,能够自动扩容,支持随机访问,并且保持了元素的插入顺序(允许重复元素和 null)。 核心特性 动态数组:不像普通数组长度固定,A 阅读全文
posted @ 2026-05-18 22:20 十七code 阅读(10) 评论(0) 推荐(0)
摘要: 多态是面向对象编程的三大特性之一(继承、封装、多态)。在 Java 中,多态指的是同一个类型的变量,调用同一个方法,由于指向的具体对象不同,最终执行的行为也不同。 多态的核心是父类引用指向子类对象。也就是说,声明变量时使用父类类型,实际创建对象时使用子类的构造方法。 Animal a = new D 阅读全文
posted @ 2026-05-09 15:53 十七code 阅读(4) 评论(0) 推荐(0)
摘要: Java 中的 String 是一个非常重要且使用广泛的类,用于表示字符串(字符序列)。它位于 java.lang 包中,因此不需要显式导入。 String 对象一旦创建,其内容就不能改变。任何看似修改字符串的操作(如 concat、replace、toUpperCase 等)实际上都会返回一个新的 阅读全文
posted @ 2026-04-26 21:13 十七code 阅读(6) 评论(0) 推荐(0)
摘要: 普通的并查集只能实现简单的合并 (Unite)和查询(Find),而无法高效的实现转移(move)和删除(erase)。为了解决该问题,我们可以使用带虚节点的特殊并查集,在实现高效合并和查询的同时,用空间换时间,实现高效的转移和删除操作。 以下为代码实现(main函数略): #include <io 阅读全文
posted @ 2026-04-17 14:23 十七code 阅读(12) 评论(0) 推荐(2)
摘要: 在求单源最短路径时,通常使用到Dijkstra算法来解决相关问题,该算法核心在于: 从起点出发发,逐步向外扩展,每次选择距离起点最近且未被访问的节点,对该节点的邻节点进行松弛操作(更新邻节点到起点的最短距离)重复以上步骤直至所有节点被访问 具体代码模板展示: #include <iostream> 阅读全文
posted @ 2026-04-10 20:26 十七code 阅读(16) 评论(1) 推荐(1)