随笔分类 - A. 知识点
摘要:总目录 > 1 语言基础 > 1.5 C++ 进阶 > 1.5.3 运算符重载 前言 运算符重载是个强大而有意思的功能,最初的接触是因为不清楚如何使用 sort 从大到小排序而了解到了运算符重载,然后是得知如何实现 struct 的 sort 排序,很长一段时间没有在别的情况下再使用,可以说仅仅是冰
阅读全文
摘要:总目录 > 1 语言基础 > 1.5 C++ 进阶 > 1.5.4 模板与 STL 前言 模板是之前几乎没接触过的东西,在 C++ 中使用得其实也挺多的;STL 就不多说了,太好用了。 子目录列表 1、模板的概念 2、函数模板 3、类模板 4、STL 1.5.4 模板与 STL 1、模板的概念 模板
阅读全文
摘要:总目录 > 1 语言基础 > 1.5 C++ 进阶 > 1.5.2 继承与多态 前言 继承是面向对象程序设计语言的第三大特性,重要性次于之前介绍了的抽象与封装,其作用主要是软件复用,降低代码冗余量,大幅缩短软件开发周期。 子目录列表 1、继承概念 2、protected 属性 3、继承方式 4、派生
阅读全文
摘要:总目录 > 1 语言基础 > 1.2 C 语言进阶 前言 从 1.1 C 语言基础 剥离出来的一部分,专门介绍数组、结构体、函数等内容,同时大幅丰富了函数的知识。 更新日志 20211031 - 配合考研复习,重新整理了一遍结构,优化缩进排版,1.2 C 语言数据类型 更改为 1.2 C 语言进阶。
阅读全文
摘要:总目录 > 1 语言基础 > 1.4 C++ 语言基础 > 1.4.1 流输入输出 前言 初识 C++ 时,最不明白的概念之一就是所谓的流。其实就是个很普通的比喻。 子目录列表 1、流的概念 2、cin 与 cout 3、cin.get() 与 cin.getline() 1.4.1 流输入输出 1
阅读全文
摘要:总目录 > 1 语言基础 > 1.3 C++ 与面向对象程序设计 前言 用 C 语言铺垫了之后,从这篇开始,专门介绍 C++ 的概念,基础,特性与进阶内容。 对于 C++ 语言本身的许多基础知识以及高级教程,这里推荐一个很经典的教程网站:https://www.runoob.com/cplusplu
阅读全文
摘要:总目录 > 6 数学 > 6.4 数论 > 6.4.1 素数与最大公约数 前言 数论开始。这一块知识点还挺凌乱的,又多又杂。 子目录列表 1、素数 2、素数判定 3、反素数 4、最大公约数与最小公倍数 6.4.1 素数与最大公约数 1、素数 对于正整数 a, d,如果存在正整数 k,使得 a = k
阅读全文
摘要:总目录 > 6 数学 > 6.3 高精度计算 前言 同样也是接触甚早同时也使用很多的一个内容,但许多时候手头没有模板又不想打。。所以是时候来个正儿八经的模板了! 子目录列表 1、概念 2、数位存储 3、四则运算 6.3 高精度计算 1、概念 众所周知,int 类型变量是 2 ^ 31(10 ^ 9)
阅读全文
摘要:总目录 > 6 数学 > 6.2 快速幂 前言 很早就知道的一个知识点了,应用场景很多,很实用。 子目录列表 1、概念 2、算法描述 3、具体思路 4、代码 5、应用 6.2 快速幂 1、概念 快速幂,学名为二进制取幂(Binary Exponentiation),是一个在 O(log n) 时间内
阅读全文
摘要:总目录 > 6 数学 > 6.1 位运算与进位制 前言 开始新的一部分。。。暑假开始要进行一些线上练习赛,数学向来也是涉猎不多也不擅长的部分,现在还是要花点时间好好补一下。 子目录列表 1、位运算 2、进位制 6.1 位运算与进位制 1、位运算 ① 概念 在 1.2 C++ 基础知识 中,介绍了常用
阅读全文
摘要:总目录 > 1 语言基础 > 1.4.2 字符数组与 string 前言 作为 C++ 的特性,string(字符串)在 OI 的几年里基本被没有用过,因为觉得 char 数组(字符数组)实在很方便。。这里单独开一篇以进一步了解下字符数组与字符串的各种联系、差异与优劣。 子目录列表 1、字符数组 2
阅读全文
摘要:总目录 > 3 搜索 > 3.3 搜索优化 前言 本来记忆化搜索是归为搜索改进算法的,不过似乎也属于剪枝的一种,于是还是搬到这里来好了。 子目录列表 1、为什么需要优化 2、剪枝 3、记忆化搜索 4、最优性剪枝 5、可行性剪枝 3.3 搜索优化 1、为什么需要优化 在最开始我们就提到,搜索算法适用性
阅读全文
摘要:总目录 > 7 数据结构 > 7.4 堆与优先队列 前言 小时候,学长对我讲,堆和优先队列,是一个意思。一开始学了堆,然后一直手写堆;自从有一天被告知 STL 中的 priority_queue 就是堆之后,也就再也没写过堆了。 这里好好理清楚两者的概念,并回顾一下堆,再拓展一下更多的内容。 子目录
阅读全文
摘要:总目录 > 8 图论 > 8.5 最短路 前言 图论基础算法中最经典的问题!因为实在是太常见了,适用于不同情况的算法也很多。 当时对知识框架并没有概念的时候,对最短路的算法还是挺记忆犹新的,Floyd 和 Dijkstra 的双排故事还在继续。 子目录列表 1、最短路径 2、Floyd 算法 3、D
阅读全文
摘要:总目录 > 8 图论 > 8.4 拓扑排序与关键路径 前言 想起当年参加 CTSC 时 DP 王 Zed 用拓扑序 DP 过了一道题直接一飞冲天,而一旁的蒟蒻拿了个 10 分 gg。 子目录列表 1、DAG 与 AOV 网 2、拓扑排序 3、AOE 网与关键路径 8.4 拓扑排序与关键路径 1、DA
阅读全文
摘要:总目录 > 8 图论 > 8.3 最小生成树 前言 树与图的紧密联系通过这一部分的内容就很好诠释了!名为生成树,实为图上问题,可以理解为由一张图生成一棵树。 子目录列表 1、连通图与生成树 2、最小生成树 3、Kruskal 算法 4、Prim 算法 5、Boruvka 算法(施工中) 6、最小生成
阅读全文
摘要:总目录 > 8 图论 > 8.2 图的存储与遍历 前言 写到这里,不免想起当年高一的 NOIP2014 因为把邻接链表给写错了而差 5 分错过一等奖导致一路再起不能。 子目录列表 1、概述 2、边存储 3、邻接矩阵 4、邻接表 5、图的遍历 8.2 图的存储与遍历 1、概述 数据结构往往有两种存储方
阅读全文
摘要:总目录 > 8 图论 > 8.1 图的简介与相关概念 前言 图其实也是一种数据结构,但其所涵盖的内容和应用相当广泛,所以单独作为一章来介绍。 子目录列表 1、图与图论 2、图的相关概念 8.1 图的简介与相关概念 1、图与图论 线性表中,元素和元素之间只存在线性关系,即前驱或后继;树形结构中,元素存
阅读全文
摘要:总目录 > 7 数据结构 > 7.3 树与二叉树 前言 不知道为啥原网站竟然没有对树——数据结构最为重要的基本结构(没有之一)——有单独的介绍板块,我觉得必不可少!后面众多高级数据结构都是以树为结构的,所以这一部分很必要。 (后来才发现树被归纳到了图论章节,虽然树和图确实紧密相连,但我觉得还是归类到
阅读全文
摘要:总目录 > 5 字符串 > 5.2 字符串 hash 前言 这是一篇新的字符串 hash 介绍文章,5 年前的那篇其实也讲的差不多了,但也有许多问题,而且也不知道当时为什么前前后后提了那么多次暴雪,看起来像是一篇暴雪的软文 = =。 文章虽然归类为字符串部分,但知识是属于 hash 的一部分,所以如
阅读全文