![](https://img-blog.csdnimg.cn/e21f2d5315fe4773be2b4b83cdc2d7cb.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法笔记
一些算法题和算法模板的记录
RockyBlog
211本985硕计算机专业在读,方向为知识图谱,目前正在学习Java、大数据知识,有兴趣欢迎一起交流,会更新自己学习内容的博客。
展开
-
王道数据结构 线性表笔记
王道数据结构线性表笔记。包含顺序表、单链表、双链表、循环链表、静态链表。转载 2022-07-15 15:50:55 · 167 阅读 · 0 评论 -
数据结构::括号匹配问题
数据结构::括号匹配问题代码实现:原创 2020-06-11 20:21:00 · 79 阅读 · 0 评论 -
数据结构::表达式求值问题
数据结构::表达式求值问题中缀转后缀 左优先原则中缀转前缀 右优先原则中缀转后缀的算法实现的思想:用栈实现中缀表达式的计算:原创 2020-06-11 20:19:00 · 66 阅读 · 0 评论 -
数据结构::链栈
数据结构::链栈#include <iostream>#include<bits/stdc++.h>using namespace std;#define MaxSize 10typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}Link...原创 2020-06-11 17:00:00 · 73 阅读 · 0 评论 -
数据结构::链队列
数据结构::链队列#include <iostream>#include<bits/stdc++.h>using namespace std;#define MaxSize 10typedef int dataType;//定义链队列结点结构typedef struct Node{ struct Node *next; dataType ...原创 2020-06-11 16:56:00 · 73 阅读 · 0 评论 -
数据结构::线性队列
数据结构::线性队列#include <iostream>using namespace std;#define MaxSize 10/*//链栈typedef struct Linknode{ int data; struct Linknode *next;}*LiStack;*///队列typedef struct { int da...原创 2020-06-09 16:01:00 · 140 阅读 · 0 评论 -
数据结构::线性表实现栈
数据结构::线性表实现栈#include <iostream>using namespace std;#define MaxSize 10typedef struct{ int data[MaxSize]; int top;}Sqstack;//初始化栈void InitStack(Sqstack &S){ S.top=-1;...原创 2020-06-09 15:11:00 · 133 阅读 · 0 评论 -
数据结构与算法 学习笔记 --绪论
数据结构绪论原创 2020-03-09 18:08:00 · 125 阅读 · 0 评论 -
数据结构::串的顺序存储
数据结构::串的顺序存储#include "string.h"#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#...原创 2020-06-12 17:15:00 · 136 阅读 · 0 评论 -
数据结构::KMP算法模板
数据结构::KMP算法模板NEXT数组://优化过后的next 数组求法void GetNextval(char* p, int next[]){ int pLen = strlen(p); next[0] = -1; int k = -1; int j = 0; while (j < pLen - 1) { //p...原创 2020-06-12 17:47:00 · 135 阅读 · 0 评论 -
数据结构::树常考的性质
数据结构::树常考的性质1.结点数=总度数+12.度数为m的树和m叉树的区别3.4.5.6.原创 2020-06-12 21:51:00 · 69 阅读 · 0 评论 -
数据结构::二叉树的基本操作
数据结构::二叉树的基本操作#include <iostream>#include <stdlib.h>#include<bits/stdc++.h>using namespace std;//数据元素类型typedef char ElemType;//二叉树结点定义typedef struct TreeNode{ ElemType...原创 2020-06-13 10:54:00 · 274 阅读 · 0 评论 -
排序算法2--(折半插入排序)
排序算法2–(折半插入排序)一、算法基本思想二、算法实现2.1 伪代码实现2.2 C语言代码实现三、复杂度分析3.1 空间复杂度3.2 时间复杂度3.3 稳定性3.4 适用性原创 2021-10-11 15:03:15 · 310 阅读 · 0 评论 -
排序算法1--(直接插入排序)
排序算法1–(直接插入排序)一、算法基本思想已知待排序列r[1...n],先将序列中的第一个记录看成是一个有序的子序列,然后从第二个记录起逐个进行插入,直至整个序列变成关键字非递减有序序列为止。 具体操作如下: (1)查找出r[i]在有序序列r[1...i-1]中的插入位置k; (2)将r[k...i-1]中所有元素全部后移一个位置; (3)将r[i]复制到r[k],则原r[1...r-1]的有序序列变成了一个r[1...i]的有序序列。动图演示:直接插入排序动图二、算法原创 2021-10-09 17:28:03 · 451 阅读 · 0 评论 -
vfk 式名字重排
ACM vfk 式名字重排题目链接菜鸡第一次写博客 很简单一道题题意: 对所有数组里的数重排列 共有多少种排列方式(其本身也算一种)题解:如果每个数字没有重复 就有N的阶乘种 若有重复直接除它重复次数的阶乘问题就出现在这里 比赛时候忘了逆元这个东西 一直直接除 导致wa了九次 长了记性逆元 当出现大数除法并且需要模的时侯使用 除就相当于乘以它的逆元更详细的逆元的介......原创 2019-07-29 11:03:34 · 462 阅读 · 0 评论 -
Floyd最短路径算法(path矩阵递归实现完整路线)
Floyd最短路径算法(参考王道数据结构书籍思路)Floyd算法的实现思路主要就是简单的动态规划,把一个大的问题化解为一个一个的子问题进行求解,我认为王道的书籍已经讲的足够清晰,所以不做赘述博文是主要实现王道机构学长所说的path矩阵递归找到完整路径,也是一个很简单递归,主要是将起点和终点之间的其他连接结点找到,所以用递归类似于二分,找到一个中间结点之后再对左右分别进行递归。本文提供了完整的实现代码,以及两组实验数据用例。(仅初学Floyd算法使用,没有提供优化思路)#include <ios原创 2021-09-24 18:03:32 · 3215 阅读 · 2 评论 -
线段树模板
第一个线段树维护区间最大值 和 区间求和#include<bits/stdc++.h>using namespace std;const int MAXNNODE = 1<<19 ;const int MAXN = 2e6+10 ;struct Node{ int value; int left; int right;}node[MA...原创 2021-09-10 16:13:43 · 46 阅读 · 0 评论