自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 KMP算法C++

KMP思路:这个例子中模式串bababb在原串中第13个字符开始的地方出现我们假设仍然使用最普通的方法来进行判断,即我们先枚举原串中的一个起始位置,然后判断从这个位置开始的字符串是否能和模式串进行完匹配。然后我们来看这个过程中有没有什么可以缩减的计算量。在起始点为1的时候,匹配到第6个字符的时候发生了失败,这个时候我们应当做的是将模式串右移一位,然后从头开始判断。发现第一位就发现不能进行匹配然后再将模式串右移一位,再从头开始判断,这次成功的越过了原串的第7个字符,在第8个字符产生了不同。都

2021-08-03 15:19:44 289

原创 毁灭者问题C++

在 Warcraft III 之冰封王座中,毁灭者是不死族打三本后期时的一个魔法飞行单位。毁灭者的核心技能之一,叫做魔法吸收(Absorb Mana):现在让我们来考虑下面的问题:假设你拥有 n 个魔法单位,他们从左到有站在一行,编号从 1 到 n。 每个单位拥有三项属性:si: 初始法力。mi: 最大法力上限。ri: 每秒中法力回复速度。现在你操纵一个毁灭者,有 m 个操作,t l r,表示时刻 t,毁灭者对所有编号从 l 到 r 的单位,使用了魔法吸收。操作按照时间顺序给出,计算毁灭者一

2021-08-02 10:31:37 237

原创 Prim(普利姆)算法的C++实现

无向图、有向图均适用,算法原理就不说了,百度讲的很明白的。#include<iostream>using namespace std;#define INF 100000//定义一个矩阵类并且重写复制构造函数、重载等号运算符typedef class Matrix_Node{public: int num; int row; int col; Matrix_Node() :num(0), row(0), col(0) { } Matrix_Node(Matrix_No

2021-08-01 17:23:34 706

原创 全主元高斯消去法(C++)

#include<iostream>using namespace std;//动态分配建立m*n的二维数组template<typename T>T** Allocation2D(int m, int n){ T** a; a = new T* [m]; for (int i = 0;i < m;i++) { a[i] = new T[n]; } return a;}//动态分配建立长为n的一维数组template<typename T

2021-07-27 20:15:37 1282 2

原创 数据结构课设(C++)——一元稀疏多项式简单计数器

(1) 输入并建立多项式(2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。(3) 多项式a和b相加,建立多项式a+b,输出相加的多项式。(4) 多项式a和b相减,建立多项式a-b,输出相减的多项式。用带头结点的单链表存储多项式。测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15

2021-07-27 20:13:28 971

原创 数据结构课设(C++)——二叉树的遍历

对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。#include<iostream>using namespace std;#define Stack_Size 50typedef struct Node{ char data; struct Node* LChild; struct Node* RChild;}BiTNode, * BiTree

2021-07-27 20:09:09 382

原创 C语言链表的创建

C语言链表顺序连接创建链表#include<stdio.h>#include<stdlib.h>//以每个节点输入一个数字为例typedef struct NUM{ int num; struct NUM* next;}list;list* create(int n)//创建n个节点的链表{ list* head = (list*)malloc(sizeof(list)); list* end = head; list* node; while(n--

2020-09-24 21:19:17 192

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除