上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 总目录 > 3 搜索 > 3.2 四种改进搜索算法 前言 上一节介绍的是最基础的 DFS 和 BFS,适用范围很广,但是针对性不强,遇到一些模型比较特殊的,可能效率就不够高了。这里介绍的四种改进的搜索,在特定情况下会更优于普通的搜索。 子目录列表 1、双向搜索 2、折半搜索 3、迭代加深搜索 4、启 阅读全文
posted @ 2020-05-14 16:39 jinkun113 阅读(886) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 3 搜索 > 3.1 DFS / BFS 搜索 前言 重中之重的一个知识!也是算法设计中非常非常基础的一部分,OI 这么多年一直陪伴在身边,是大部分不能得到正解只求部分分时的最佳选择,通常我们称之为“暴力搜索”,它写起来不伤脑筋,能够处理数据量小的情况,而且有时灵机一动再优化一下,甚至能 阅读全文
posted @ 2020-05-14 00:03 jinkun113 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 2 算法基础 > 2.7 前缀和与差分 前言 没有想到前缀和也被单独拿出来作为一节来讲,不过也好,还可以顺便讲讲前面又碰到了一次的多维前缀和以及差分。 子目录列表 1、前缀和 2、差分 3、多维前缀和 2.7 前缀和与差分 1、前缀和 前缀和:对于数列 a,其第 1, 2, ..., i 阅读全文
posted @ 2020-05-12 23:43 jinkun113 阅读(489) 评论(1) 推荐(2) 编辑
摘要: 总目录 > 2 算法基础 > 2.6 倍增思想 前言 倍增通常和二分一起介绍,共同点在于——它们都能神奇地将原本复杂度为 n 的过程下降到 log n,对于大型数据而言,这种效率的提高是显而易见的。 子目录列表 1、二进制与倍增 2、例题 3、应用 2.6 倍增思想 1、二进制与倍增 众所周知,二进 阅读全文
posted @ 2020-05-12 14:44 jinkun113 阅读(525) 评论(1) 推荐(1) 编辑
摘要: 总目录 > 2 算法基础 > 2.5 二分思想 前言 一个当时了解得相当晚的思想,乍一看好像和分治差不多味道,其实本质区别还是很大的,当时甚至还有混淆。二分主要是用于二分查找和二分答案,这里还会提一下三分。 子目录列表 1、二分与分治 2、二分查找 3、二分答案 4、三分 2.5 二分思想 1、二分 阅读全文
posted @ 2020-05-10 16:18 jinkun113 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 2 算法基础 > 2.4 排序十讲 前言 好好地总结一下排序算法啦,虽然在大多数情况下意义不大,毕竟 C++ 自带 sort,但巩固下基础总没有错。 子目录列表 1、时间复杂度 2、选择排序 3、冒泡排序 4、插入排序 5、计数排序 6、基数排序 7、桶排序 8、归并排序 9、快速排序 阅读全文
posted @ 2020-05-01 00:11 jinkun113 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 2 算法基础 > 2.3 贪心思想 前言 算法基础的第三部分!这几部分其实讲述的都不太详细,因为许多内容都算比较清楚了,也不想太深入讨论,不过应该后面会进行补充。 子目录列表 1、贪心 2、背包问题 3、正确性证明 2.3 贪心思想 1、什么是贪心 顾名思义,贪心算法是指以一种贪婪的思维 阅读全文
posted @ 2020-04-30 15:00 jinkun113 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 2 算法基础 > 2.2 递归与分治 前言 递归是一种非常常用的算法思想,太多太多地方使用了。 (总目录:https://www.cnblogs.com/jinkun113/p/12528423.html) 子目录列表 1、递归 2、分治 2.2 递归与分治 1、递归 递归的基本思想是函 阅读全文
posted @ 2020-04-28 21:43 jinkun113 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 7 数据结构 > 7.5 Huffman 哈夫曼树 前言 这是一篇原网站没有涉及到的知识点,很久之前也学过了,趁着数据结构课要做实验就再复习下好啦。 子目录列表 1、最优二叉树 2、构造方法 3、哈夫曼编码 4、译码 5、代码 7.5 Huffman 哈夫曼树 1、最优二叉树 哈夫曼树( 阅读全文
posted @ 2020-04-26 22:56 jinkun113 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 2 算法基础 > 2.1 枚举与模拟 前言 这篇文章是在不知道该写些什么,但是作为算法里最基本的东西,还是得给点排面哈。 子目录列表 1、枚举算法 2、模拟算法 2.1 枚举与模拟 1、枚举算法 枚举是基于现有知识来猜测答案的一种问题求解策略,是最最基础的算法之一,基本上没有难度。随便举 阅读全文
posted @ 2020-04-23 23:55 jinkun113 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 1 语言基础 > 1.1 C 语言基础 前言 这篇文章对 C 语言里一些最基础的编程知识进行简要介绍。因为对 C / C++ 大部分入门内容都轻车熟路了,有些地方可能就不恰当地略过了。 更新日志 20200713 - 分支与循环部分施工完毕。 20200716 - 所有内容全部施工完毕。 阅读全文
posted @ 2020-04-22 20:46 jinkun113 阅读(808) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 1 语言基础 > 1.5 C++ 进阶 > 1.5.1 类与对象 前言 这篇文章首先主要介绍 C++ 中最重要的特性——类 class,以及和它密切相关的对象。C++ 刚刚诞生时就被人们称作 “C With Class”,足以看出 class 对 C++ 意义之大。其实之前学了很久的 C 阅读全文
posted @ 2020-04-21 14:56 jinkun113 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 前言 学 C++ 若干年,几乎没离开过 Dev-C++,有时候需要在 Ubuntu 环境下考试/比赛,就比较简单地学习了 Emacs,但并不熟练。后来在 C++ 资深玩家 bebe 的引导下(以及 asm 实验报告美观度的刚需),装上了 VS Code,不要太好看。(但还没进行配置) 这篇文章大致介 阅读全文
posted @ 2020-04-20 23:09 jinkun113 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 4 动态规划 > 4.4 树形 / DAG / 数位 DP 前言 本文主要介绍动态规划的集中进阶模型——树形 DP、DAG 上的 DP、数位 DP。不同于之前的基础模型的一点是,它们的状态并非单纯地建立在线性关系或者二维空间上,而是在树结构,图,数位上进行转移,相对之下可能更麻烦,但其实 阅读全文
posted @ 2020-04-18 00:17 jinkun113 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 总目录 > 4 动态规划 > 4.3 区间 DP / LIS / LCS 前言 本文主要介绍动态规划的其他几种基础模型——区间 DP、LIS、LCS。区间 DP,LIS 和背包 DP 一样都是线性动态规划(背包 DP 虽然也可以是二维数组,但其实质依然是线性的),相比之下,它们的状态转移更为复杂,而 阅读全文
posted @ 2020-04-17 00:06 jinkun113 阅读(441) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页