综合-数据结构和算法
文章平均质量分 91
Sarah ฅʕ•̫͡•ʔฅ
勿忘初心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构:线性表
1、顺序表中基本操作的实现#define MAXSIZE 10000typedef struct{ElemType *elem;int length}SqList//初始化表Status InitList(SqList &L){L.elem = new ElemType(MAXSIZE);if(!L.elem){exit(ERROR);}L.length = 0;re...原创 2019-05-26 18:08:40 · 141 阅读 · 0 评论 -
Manacher算法介绍
Manacher是一个 字符串算法,用于求 一个字符串中 最长的回文子串。他的时间复杂度可以达到 O(n);除Manacher以外,字符串算法还有 BP算法、KMP算法、改进的KMP算法。Manacher算法在思想上 和 改进的KMP算法 有相似之处,下面简要介绍一下Manacher算法核心思想:假设现有字符串S: abcdcbab ;根据字符串S构造字符串T,即在字符之间均插入一个 #...原创 2019-07-21 15:12:58 · 130 阅读 · 0 评论 -
动态规划 入门
看了“教你彻底学会动态规划——入门篇”,感觉 所谓动态规划 就是在 递归的基础上,在进行优化,把需要重复计算的 一些 单元 直接记录下来,从而减少 算法 时间复杂度。该篇文章 还讨论了 空间复杂度 的优化策略,也值得学习。其思路 主要是 把 原来需要用 二维数组 存储的value,优化为 用一维数组存储,之所以能用一维数组存储,是因为在 遍历的过程中 会不断把 需要存储的值 复写到 已经存有va...转载 2019-07-21 14:34:49 · 195 阅读 · 0 评论 -
非递归实现二叉树先序、中序、后序遍历(栈实现)
参考博文:非递归实现二叉树先序、中序、后序遍历(栈实现)转载 2019-06-11 21:09:45 · 945 阅读 · 0 评论 -
数据结构:排序
一、排序的基本概念1、排序的稳定性:对于一组记录,如果其中两条记录R1,R2 相等,若在排序之前 和 排序之后 二者顺序仍然不变,则认为该排序算法是稳定的,否则该排序算法不稳定。2、排序算法效率的评价指标:1)执行时间:主要与 两个因素有关:关键字之间的比较次数;记录的移动次数;2)辅助空间:理想的空间复杂度为O(1);二、内部排序除基数排序 用链式存储以外 ,其它的排序方法 存储结...原创 2019-06-09 14:11:25 · 3416 阅读 · 1 评论 -
数据结构:关键路径求解
一、拓扑排序二、关键路径原创 2019-06-03 12:59:26 · 1632 阅读 · 0 评论 -
图的应用:最短路径
一、最短路径简述1、应用从一个城市A到另一个城市B有很多的交通路线可以走,如果假设这些交通线路构成了一个无向图,则求从A到B的最短路径,可以用 广度优先算法 得到 这个 无向图 的 广度优先生成树,然后,从生成树中 找到 从A到B的路径 即为 从A到B的最短路径。但是,现实世界远远没有这么简单,这些交通线路更像是一个 带权有向网,要求 从A到B的最短路径,需要考虑各个边上的权值。这个问题 可...原创 2019-06-02 22:36:45 · 861 阅读 · 0 评论 -
图的应用:最小生成树
一、应用场景n个城市之间想要建立一个通信线路,有很多种方法,把城市看作是顶点,城市之间的线路看作是路径,则n个城市之间构建的通信线路 可以看成是一个 连通网,为了节省费用,势必是想要找到其中一个最小的 连通网的,这种找 最小 “连通网(带权路径和)”的问题,我们可以用 最小生成树算法 来解决。最小生成树:各边的代价之和最小的那棵生成树称为该连通网的最小代价生成树,简称最小生成树;二、最小生成...原创 2019-06-02 20:11:51 · 912 阅读 · 0 评论 -
数据结构:图的存储and遍历
一、图的定义二、图的存储结构三、图的遍历1、深度优先搜索2、广度优先搜索原创 2019-06-02 15:23:45 · 549 阅读 · 0 评论 -
数据结构:树和森林
一、树的存储结构1、双亲表示法树的结点存储结构为:dataparent//双亲表示法 存储结构#define TREESIZE 800typedef struct TreeNode{TElemType data;int parent;}TreeNode;typedef struct Tree{TreeNode nodes[TREESIZE];int r; /...原创 2019-06-01 17:40:37 · 209 阅读 · 0 评论 -
数据结构:查找
一、概念**1、动态查找表/静态查找表:**若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为 动态查找表,否则称为 静态查找表。**2、平均查找长度(Average Search Length, ASL):**为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值,称为查找算法在查找成功时的 平均查找长度。二、线性表的查找1、顺序查找1)顺序查找(Sequent...原创 2019-06-06 19:48:33 · 1273 阅读 · 0 评论 -
最长公共子序列
参考博文:最长公共子序列转载 2019-06-13 11:03:16 · 353 阅读 · 0 评论 -
数据结构:线索二叉树
d原创 2019-06-01 15:54:33 · 209 阅读 · 0 评论 -
数据结构:哈夫曼树
哈弗曼树:给定若干个 带权结点,将其构建为 带权路径 value 最小的 二叉树。哈弗曼树的构建方法原创 2019-05-31 23:07:57 · 2466 阅读 · 0 评论 -
数据结构:二叉树的遍历
一、树的性质1、树的度:树的度是树内各节点中度的最大值。2、二叉树的性质在二叉树的第i层上之多有2i-1个结点(i >= 1)。深度为k的二叉树至多有2k-1个结点。对于任何一棵二叉树T,如果其终端节点数为n0,度为2的结点数为n2,则:n0 = n2 + 1;满二叉树:深度为k,且含有2k-1个结点的二叉树。完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都...原创 2019-05-31 21:59:11 · 354 阅读 · 0 评论 -
数据结构 : 串的模式匹配算法
一、串的存储结构1、串的顺序存储# define MAXSIZE 800typedef struct{char ch[MAXSIZE];int length;}SString;2、串的链式存储# define CHUNKSIZE 8typedef struct Chunk{char ch[CHUNKSIZE];struck Chunk *next;}Chunk;type...原创 2019-05-31 19:17:42 · 1135 阅读 · 0 评论 -
数据结构与算法面试题80道
参考博文:数据结构与算法面试题80道转载 2019-05-26 23:19:09 · 732 阅读 · 0 评论 -
数据结构:栈和队列
1、栈的表示和操作的实现栈:后进先出1.1 顺序栈的表示和实现//定义顺序栈的存储结构#define MAXSIZE 100typedef struct{SElemType *base; //栈底SElemType *top; //栈顶int stacksize;}SqStack;//顺序栈的初始化Status InitStack(SqStack &S){S.ba...原创 2019-05-26 23:14:39 · 137 阅读 · 0 评论 -
求2个字符串的最长公共子串
利用矩阵的思路来解决 求 最长公共子串 的 问题,不得不说,再次刷新了我对算法的认识,赞。具体详情 查看博文:求两个字符串的最长公共子串转载 2019-07-21 19:37:24 · 366 阅读 · 0 评论
分享