字符串的KMP算法详解及C/C++代码实现 1.原由紧接上文,我们知道了暴力匹配的算法在时间运行上的缺陷,假设字符串T的长度为n,字符串P的长度为m,则整个算法的时间复杂度为O(n*m),而对于一个复杂的现实情况而言n>>m>>2(即n远远大于m,m远远大于常数),这样的计算计算机的负担很重。 串、数组、矩阵和广义表 2022年02月07日 249 点赞 0 评论 126808 浏览
C++STL教程入门 在上一篇文章我们已经基本的了解了什么是C++的STL(标准模板库),在本章中绝大多数内容都是在介绍常用的STL模板的使用以及其一些参数的介绍,但是请注意,STL由于其设计之初就容纳了大量的程序员思维结晶,经过了无数次的讨论才形成了一个统一的标准, C++STL库教程(附带题库) 2022年02月28日 189 点赞 0 评论 97162 浏览
什么是动态规划? 谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手。对于动态规划, 动态规划 2022年04月03日 222 点赞 0 评论 88223 浏览
结合实例解析宽度优先搜索(BFS)搜索 本篇将会结合实例解析宽度优先搜索(BFS)。一、BFS概念宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。 搜索算法 2022年03月16日 162 点赞 0 评论 108957 浏览
参考及相关链接 参考目录:《大话数据结构》程杰著《数据结构与算法》小黑书,C语言版本《算法与数据结构》小黑书,JAVA版本互联网搜索引擎如百度和谷歌CSDNStack论坛在基本完成数据结构的学习,你应该可以做到:1.完全自由的写出链表,以及基本的操作方法和进阶, 后记 2022年01月31日 57 点赞 0 评论 76638 浏览
反演变换的性质 反演本质上是一种几何变换,常见的几何变换还有平移、旋转、反射……反演变换适用于题目中存在多个圆/直线之间的相切关系的情况。利用反演变换的性质,在反演空间求解问题,可以大幅简化计算。这篇文章主要介绍反演的定义和一些常用性质一、定义设O是平面π上的一个定点, 计算几何 2022年01月23日 231 点赞 0 评论 103310 浏览
什么是差分约束系统? 什么是差分约束系统?差分约束系统是一种特殊的N元一次不等式组,它包含N个变量以及M个约束条件,每个约束条件都是由两个变量作差得到的,形如,其中是常数。我们根据题目要求,并用这M个约束条件求出某个不等式的最值,例如的最大值。怎么解?转化:把上面不等式稍微变形一下可以得到, 图论 2022年02月05日 234 点赞 0 评论 71356 浏览
什么是跳表? 跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是O(logn),优于数组的O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表元素的数量相比,每一层链表中的元素的数量更少。 数据结构 2022年01月09日 176 点赞 0 评论 102430 浏览
排序算法简介 什么是排序?就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范, 排序算法 2022年03月25日 182 点赞 0 评论 91346 浏览
C/C++如何加速输入输出效率(上) 1.简介遇到大数据时,往往读写文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,有很多案例中提供几个数据,却在后台测评却提供了近千,近万的数据量是常事,而很多人会发现,明明算法正确的问题, C++STL库教程(附带题库) 2022年02月19日 125 点赞 0 评论 91576 浏览