数据结构
糖果人碎了
这个作者很懒,什么都没留下…
展开
-
病毒检测(BF实现)
题目:给出几组人的DNA序列(如abcabcd),以及几组病毒的DNA序列(bca),已知其中病毒DNA都是环状的。检测该人体的DNA中是否含有病毒的DNA序列。思路:该问题为典型的字符串匹配问题,可以采用BF算法或者KMP算法。由于病毒DNA为环状的,所以可以设一个字符串为它的2倍长。如病毒DAN:abc 设一个temp为:abcabc,从中依次取出长度为3的字符串:abc,bc...原创 2020-02-18 20:32:20 · 5741 阅读 · 0 评论 -
BF算法详解+代码实现
#include <iostream>using namespace std;/***目标串(主串):a b a b c d e f*模式串(子串):a b c(长度为len)*BF算法的思想:从目标串的第一字符开始,截取长度为len的串与模式串匹配,如果len个字符都匹配上了,表示找到模式串,如果有一个字符没匹配上,就重新截取一个串,再和模式串匹配*1、模式串le...原创 2020-02-18 16:55:08 · 4844 阅读 · 3 评论 -
C语言实现串的基本操作(复制,比较,插入,删除)
#include <stdio.h>#include <stdlib.h>#include<string.h>#define TRUE 1#define FALSE 0#define OVERFLOW 1#define MAX_SIZE 1024typedef int Status;/***串的顺序结构实现typedef str...原创 2020-02-17 20:25:35 · 2894 阅读 · 0 评论 -
链栈
注意:链栈中,指针的方向为由栈顶指向栈尾!即插入元素时为头插法#include <iostream>#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0using namespace std;/***在链栈中指针的方向是从栈顶指向栈底!!!*在栈中只 能...原创 2020-02-02 21:47:07 · 617 阅读 · 0 评论 -
顺序栈的基本操作
#include <iostream>#include <stdlib.h>#include <stdio.h>#define MAX_SIZE 255using namespace std;/***栈也是一种线性表,不过只能对栈顶进行插入和删除操作*本文用顺序表实现栈,即顺序栈*/typedef int ElemType;typede...原创 2020-02-01 21:41:58 · 221 阅读 · 0 评论 -
双向链表插入、删除节点(详细图解+代码)
双向链表在单链表的基础上增加了前缀结点,一定程度上提升了查找元素的速度在查找元素时,可以反向查找前缀结点插入结点过程(分为4步)这四个步骤的顺序可调整,但是必须要保证需要的链不断!!比如,如果先做④再做①,画红叉的链断了,p->next为新的结点node了,那么node又怎么和后面的接结点连上呢?后面的结点已经不能通过p来找到了。删除结点(分两步)...原创 2020-02-01 20:36:36 · 29849 阅读 · 5 评论