数据结构
chen<>
一名科班小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图算法之最短路径总结
文章目录1、Floyd算法1.1 核心代码:1.2 基本思想1.3 完整代码1、Floyd算法多源最短路问题:求图中任意两点之间的距离1.1 核心代码:for(k=1;k<=n;k++)//通过前k号节点中转 for(i=1;i<=n;i++) for(j=1;j<=n;j++) e[i][j]=min(e[i][j],e[i][k]+e[k][j]);1.2 基本思想最开始只允许经过1号顶点进行中转,接下来只允许1号和2号顶点进行中转……允许经过1~n号所.原创 2022-04-27 22:40:55 · 1331 阅读 · 2 评论 -
字符串匹配算法之KMP算法(C语言实现)
#1、KMP算法:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)##2、代码#include<string.h>#include<malloc.h>原创 2021-08-16 19:04:49 · 1313 阅读 · 0 评论 -
字符串匹配算法之BF算法(即暴力算法)
1、BF算法BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。2、C语言实现#include<stdio.h>#include<assert.h>#include<string.h>/*str主串sub原创 2021-08-12 22:32:00 · 3762 阅读 · 0 评论 -
单调栈的创建、压栈、出栈、遍历和清空
#include<stdio.h> #include<malloc.h>#include<stdlib.h>#include<stdbool.h>typedef struct Node{ int data; struct Node* pNext;}NODE, * PNODE;typedef struct Stack{原创 2021-08-12 16:49:48 · 152 阅读 · 1 评论 -
单链表的创建、遍历、判断是否为空、排序、插入结点和删除结点
#include<stdio.h> #include<malloc.h>#include<stdlib.h>typedef struct Node{int data;struct Node *pNext;}NODE,*PNODE; PNODE create_list() //创造链表函数 { int len;//用来存放有效节点的个数原创 2021-08-07 15:44:08 · 359 阅读 · 0 评论
分享