![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
尽量完整体系地讲解各种算法与问题的解决思路
greatgeek
这个作者很懒,什么都没留下…
展开
-
什么影响了你理解动态规划(一)
什么影响了你理解动态规划(一)1. 简介动态规划几乎很难给动态规划下一个易于理解的定义,映入眼帘的只有动态二字,将动态与其定义作一个贴切的解释就是多阶段决策。最后的结果与每个阶段的决策有关,其动态的概念在于最后的结果与每一个阶段的决策有关。这样一来将动态规划与贪心算法作比较就可以发现,动态规划属于全局最优算法,贪心算法属于局部最优算法。在了解动态规划的第一步只要知道其两个特点即可:多阶段与决策。2. 动态规划问题的完整建模过程(1)将问题过程划分成恰当的阶段;(2)正确选择状态变量 SkS_kSk原创 2020-05-28 18:10:03 · 494 阅读 · 1 评论 -
AVL树的创建
http://www.cnblogs.com/lordage/p/6031616.html?from=timeline&isappinstalled=0转载 2017-10-05 16:34:03 · 427 阅读 · 0 评论 -
单调栈与单调队列
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-08-19 16:46:06 · 135 阅读 · 0 评论 -
并查集(Union-find Set)
并查集算法导论第21章称作不相交集合。一些应用涉及将n个不同的元素分成一组不相交的集合。这些应用经常需要进行两种特别的操作:1.寻找包含给定元素的唯一集合(查),2.合并两个集合(并)并查集数据结构并查集这种数据结构由一个整数型的数组和两个函数构成。数组pre[]记录了每个元素的上级是谁,这个数组记录了所有不相交集合,函数find是查,函数union是并。int[] pre=new int...原创 2019-08-20 17:04:10 · 420 阅读 · 0 评论 -
图的最短路径
最短路径的常用解法有迪杰斯特拉算法(Dijkstra Algorithm)、弗洛伊德算法(Floyd-Warshall Algorithm)和贝尔曼福特算法(Bellman-Ford Algorithm)。其中,Floyd算法是多源最短路径算法,即求任意点到任意点的最短路径,而Dijkstra算法和Bellman-Ford算法是单源最短路径算法,即单个点到单个点的最短路径。这三种算法还有一点不同,...原创 2019-08-24 21:12:15 · 700 阅读 · 0 评论 -
ACM修炼指南
数据结构栈、队列、链表、树哈希表,哈希数组堆,优先队列双端队列可并堆左偏堆二叉查找树Treap (树堆)伸展树并查集集合计数问题二分图的识别平衡二叉树二叉排序树(二叉搜索树)区间树一维区间树二维区间树树状数组一维树状数组N维树状数组字典树后缀数组、后缀树块状链表哈夫曼树桶、跳跃表Trie树(静态建树、动态建树)AC自动机(Aho...原创 2019-08-29 15:14:00 · 223 阅读 · 0 评论 -
算术中缀表达式转化成后缀表达式,并利用后缀表达式求值(操作数为个位数)
算术中缀表达式与后缀表达式后缀表达式有利于计算机进行计算,中缀表达式有利于人们阅读与表达。中缀表达式:a+b*c+(d*e+f)*g对应的后缀表达式:abc*+de*f+g*+将中缀表达式转化成后缀表达式需要利用栈这种数据结构才能完成这一转化,在此用队列来存储后缀表达式:中缀表达式的入栈规则:1) 遇到操作数,直接输出到队列;2)遇到操作符,输出到栈中,这个栈是一个...原创 2019-09-29 17:06:35 · 2537 阅读 · 0 评论