![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
morning_sir_jking
这个作者很懒,什么都没留下…
展开
-
kmp算法的理解与实现
KMP算法曾被我戏称为看毛片算法,当时笑喷......大三那个时候硬着头皮把算法导论的kmp算法啃完,弄懂了kmp算法的原理,甚至还写出了代码,这几天再次温习的时候,发现忘得比较彻底。我总结,学算法不能只对着书本学理论,而应该用自己的理解去看清算法的本质,最好用文字把你的理解记录下来,这样才能做到活学活用,而且不容易忘。写这篇博客就是想把自己这几天的思路记下来。 一转载 2015-10-27 22:08:24 · 962 阅读 · 0 评论 -
字符串匹配的KMP算法
终于看懂了 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。转载 2015-10-28 11:25:20 · 440 阅读 · 0 评论 -
单链表反序原理
原理看图说话,说得比较清晰/* 单链表反转/逆序 */Status ListReverse(LinkList L){ LinkList current,pnext,prev; if(L == NULL || L->next == NULL) return L; current = L->next; /* p1指向链表头节点的下一原创 2016-07-25 08:45:02 · 2794 阅读 · 0 评论 -
二叉树
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树转载 2016-07-25 17:30:49 · 328 阅读 · 0 评论 -
大整数相乘
#include using namespace std; #define N 40 #define M 100 int res[M]; /***** * Function: 大整数相乘算法 * 参数: * a: 乘数,字符串,一个字符代表整数的一位,左侧是最高位,右侧是最低位 * b: 乘数,同上 * n: a的长度 * m: b的长度 *****/原创 2016-07-27 11:24:55 · 422 阅读 · 0 评论 -
C+队列
C++队列实现1、顺序队列#include "iostream"using namespace std;templateclass Queue{public:virtual void clear()=0;virtual bool enqueue(const Elem& it)=0;virtual bool dequeue(Elem& it)=0;virtua原创 2014-01-08 22:39:10 · 812 阅读 · 0 评论 -
C+双链表
C++双链表实现过程#include "iostream"using namespace std;template class Link {private: static Link* freelist; // Headpublic: Elem element; // Value for this node Link *next; /原创 2014-01-08 21:16:39 · 870 阅读 · 0 评论 -
C+顺序表
C++顺序表模板实现#include "iostream"using namespace std;templateclass AList{private:int maxSize;int listSize;int fence;Elem *Array;public:AList(int size){maxSize=size;listSize=fence原创 2014-01-08 20:24:38 · 836 阅读 · 0 评论 -
八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2016-07-22 10:17:25 · 358 阅读 · 0 评论