
数据结构与算法
FZH_SYU
在这个时代,每个人怀揣着梦想,坚持地迈着步子走。这个时代,正因如此,才会愈发精彩。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法总结序言
序言首先,这是写在一段前面的话。我知道算法是很多校招面试的必问科目(暂且把它称作这个吧),经典的包括动态规划、搜索、最短路、线段树等等。最近一段时间,闲来无事,在网上也看了些关于算法的博客。心中仍有几点觉得不太美满的地方,博客知识点针对于ACM算法竞赛的题解居多,详细讲解内容的甚少,有的是寥寥几笔带过,让很多ACM门外汉看着云里雾里,事倍功半。这是其一;算法本来就是一个比较抽象,比较难懂的东西,就...原创 2018-02-12 23:46:19 · 518 阅读 · 0 评论 -
贪心算法
关键字:最优解 动态规划 子结构 背包问题 区间覆盖导言有人说,贪心很简单,因为不用学,人人都知道怎么贪。也有人说,贪心很难,因为这个世界上会贪的人太多了,哪轮得到你我的份?在acm竞赛中,贪心思想已经能够用来解决许许多多的实际应用。比如背包问题,最优解问题,区间覆盖问题,方案调度问题。同时,贪心思想也是很多算法的灵魂,比如说哈夫曼编码,Dijkstra算法,最小生成树算法。那...原创 2017-08-09 12:47:49 · 686 阅读 · 0 评论 -
递归算法
目录: 1.简单递归定义 2.递归与循环的区别与联系 3.递归的经典应用1.简单递归定义什么叫递归?(先定义一个比较简单的说法,为了理解,不一定对)递归:无限调用自身这个函数,每次调用总会改动一个关键变量,直到这个关键变量达到边界的时候,不再调用。比如说我要你先求一个N!的结果你说我会用循环啊(没错,但是现在是学递归)int factorial(int x,int...原创 2017-02-08 00:20:28 · 72464 阅读 · 14 评论 -
KMP算法
KMP算法关键字: 模式匹配 前缀 后缀 next数组 应用:查找串T是否为串S的子串时间复杂度:O(n+m) 主要内容:1、前缀和后缀;2、KMP模式匹配简单描述;3、递推求next数组;4、结合代码实现; 1、前缀和后缀 前缀:除了最后一个字符外,一个字符串的全部头部组合;后缀:除了第一个字符以外,一个字符串的全部尾部组合; 例如S串:ACADBDACA 所有前缀:{“A”、”AC”、...原创 2018-02-18 21:29:48 · 511 阅读 · 0 评论 -
动态规划算法
动态规划算法关键字:子结构 状态转移方程 数塔 背包问题 目录 一、前言二、动态规划概述 1. 定义 2. 概念 3. 求解基本步骤 4. 谈谈动态规划与其他算法之间的联系和区别 5. 动态规划迷思 6. 动态规划解决方法辨析 7. 对动态规划总结性理解三、基础动态规划 1. 数塔问题 2. DAG ...原创 2018-03-03 16:53:41 · 2738 阅读 · 1 评论 -
二叉树遍历(递归、非递归)
简要概述前序遍历:先输出父节点,再输出左孩子节点,最后输出右孩子节点;中序遍历:先输出左孩子节点,再输出父节点,最后输出右孩子节点;后序遍历:先输出左孩子节点,再输出右孩子节点,最后输出父节点; 递归实现如果对递归的思想还不是很清楚,建议博客入门递归算法入门#include<iostream>#include<stack>using nam...原创 2018-12-18 00:17:13 · 365 阅读 · 2 评论