算法
热爱艺术的程序员
github:https://github.com/AndrewLauGithub
展开
-
KMP算法的改进
KMP算法的改进#include "sqstring.cpp"void GetNextval(SqString t,int nextval[]) //由模式串t求出nextval值{ int j=0,k=-1; nextval[0]=-1; while (j<t.length) { if (k==-1 || t.data[j]==t.data[k]...原创 2020-05-07 08:01:22 · 251 阅读 · 0 评论 -
KMP算法
KMP算法-简单匹配算法的改进KMP算法的实现如下:#include "sqstring.cpp"void GetNext(SqString t,int next[]) /*由模式串t求出next值*/{ int j,k; j=0;k=-1;next[0]=-1; while (j<t.length-1) { if (k==-1 || t.data[j]==t...原创 2020-05-07 07:58:51 · 376 阅读 · 0 评论 -
BF算法(简单匹配算法)
字符串的简单匹配算法-BF算法的实现#include "sqstring.cpp"int index(SqString s,SqString t){ int i=0,j=0; while (i<s.length && j<t.length) { if (s.data[i]==t.data[j]) //继续匹配下一个字符 { i++;...原创 2020-05-07 07:55:38 · 7554 阅读 · 2 评论 -
元素分界线
题目描述:以第一个元素为基准,将所有小于等于它的元素移动到该元素的前面,将所有大于它的元素移动到该元素的后面。#include<stdio.h>#include"sqlist.cpp"/*设计一个算法,以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。*/void Move1(SqList *&L){ int ...原创 2020-01-13 00:11:19 · 1046 阅读 · 0 评论 -
删除顺序表中所有值为X的元素
题目描述:删除顺序表中所有值为X的元素,要求时间复杂度为O(n),空间复杂度为O(1)。#include<stdio.h>#include"sqlist.cpp"/*已知长度为n的线性表A采用顺序存储结构,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。*/void DeleteNode1(SqList *&L...原创 2020-01-13 00:00:28 · 17088 阅读 · 0 评论 -
合并两个集合
题目描述:假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,编写一个算法求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC中。 #include<stdio.h>#include"sqlist.cpp"/*假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。编写一个算法求一个新的集...原创 2020-01-12 23:53:59 · 3262 阅读 · 1 评论 -
递归方法求n!阶乘
递归的定义:在定义一个过程或函数时,出现调用本过程或者是本函数的成分,称之为递归。通常需要用到递归的方法:定义是递归的。(例如n!,Fibonacci数列问题) 数据结构是递归的(单链表的数据结构,二叉树的数据结构)。 问题的求解方式是递归的(汉诺塔问题)。//用递归和非递归两种方式求n!问题#include<iostream>#include<system_...原创 2019-03-03 19:00:13 · 16433 阅读 · 2 评论 -
汉诺塔问题
汉诺塔问题是经典的递归问题,它的递归类型是:求解问题的方法是递归的。解题思路:首先将n-1个盘子从X借助Z移动到Y。 将第n个盘子从X移动到Z。 再将1中的n-1个盘子从Y借助X移动到Z。//汉诺塔问题#include<iostream>#include<math.h>using namespace std;void move(char x, ch...原创 2019-03-03 21:04:46 · 184 阅读 · 0 评论 -
顺序查找
#include<iostream>#include<system_error>using namespace std;int sequeFind(int * arr,int n, int x){ int i = 0; while (i < n && arr[i] != x) { i++; } if (i < n) re...原创 2019-03-03 22:05:32 · 217 阅读 · 0 评论