文章分类 -  算法

删除链表中m<e<n的元素
摘要:#include #include#includeusing namespace std;typedef struct Lnode//链表节点{ int e; Lnode* next;};typedef struct Link//链表{ Lnode* head;};Link* cr... 阅读全文

posted @ 2015-11-20 10:12 菜鸟基地 阅读(155) 评论(0) 推荐(0)

二叉树叶子节点路径的遍历
摘要:1.输出所有叶子节点的路径(特殊情况输出指定叶子节点的路径)viod AllPath(Btree* t,stack* s){ if(t) { s.push(t); if(!t->lchild&&t->rchild) prin... 阅读全文

posted @ 2015-08-29 15:51 菜鸟基地 阅读(500) 评论(0) 推荐(0)

二叉树遍历算法的应用
摘要:1)二叉树的叶子节点个数////二叉树叶子节点,使用先序遍历方法,叶子节点的特点为左右孩子节点为空find_leaf(Btree* t,int& n){ if(t) { if(!t->lchild&&!t->rchild) { ++n; ... 阅读全文

posted @ 2015-08-25 21:22 菜鸟基地 阅读(333) 评论(0) 推荐(0)

二叉树的三种遍历
摘要:1)前序遍历//递归算法void pre(Btree* t,void(*visit)()){ if(!t) return; if(t) { visit(t->elem); pre(t->lchild); ... 阅读全文

posted @ 2015-08-25 18:49 菜鸟基地 阅读(87) 评论(0) 推荐(0)

二叉树
摘要:二叉树的三个性质:a) 二叉树每一层节点最多个数:2的i-1次方个节点b)深度为h的二叉树节点数目最多为:2的h次方-1c)对任何一个二叉树,若含有n0个叶子节点,n2个度为2的节点,则必有公式:n0=n2+1因为节点总数n=n0+n1+n2,又因为总的分枝比节点少1,所以n=b+1;又因为度为1的... 阅读全文

posted @ 2015-08-05 16:49 菜鸟基地 阅读(142) 评论(0) 推荐(0)

求S串中最长的重复子串的位置和长度
摘要:1)自己的算法,时间复杂度(n*n*n)void sub_long(const string& str1,int& i,int& j,int& len){ int curr=0; while(curr!=(str1-len+1)) { int next=cur... 阅读全文

posted @ 2015-08-04 15:26 菜鸟基地 阅读(212) 评论(0) 推荐(0)

去掉S中和子串T相同的字符串
摘要:算法分析:首先查找S中子串T存在的位置,然后再复制字符串到新串,其中查找算法采用KMP算法void kick_str(const string& str1,const string& str2,string str3){ int pos=0; int i=0; while(i!... 阅读全文

posted @ 2015-08-04 15:02 菜鸟基地 阅读(234) 评论(0) 推荐(0)

双向循环链表结构以及定义
摘要:带头结点的双向循环链表如果链表为空,则头结点的前驱和后继都指向自身尾节点的后继指向头结点,所以如果遍历则调节为p!=L,而不是p飞空1)创建一个双向循环链表void CreateList_DuL(DuLinkList &L) { int n; int i; ... 阅读全文

posted @ 2015-08-03 15:54 菜鸟基地 阅读(453) 评论(0) 推荐(0)

稀疏矩阵的存储方式,以及转换算法等
摘要:1)三元组顺序表存储矩阵元素方法#define MAXSIZE 12500typedef struct{ int i,j; ElemType e;} Triple;typedef struct{ vector data[MAXSIZE+1]; int mu,nu,t... 阅读全文

posted @ 2015-08-02 16:00 菜鸟基地 阅读(171) 评论(0) 推荐(0)

KMP算法
摘要:#include#include#includeusing namespace std;void get_next(const string str,vector& next){ int i=0; int j=-1; next[0]=-1; while(inext(str2... 阅读全文

posted @ 2015-08-02 15:16 菜鸟基地 阅读(135) 评论(0) 推荐(0)

单链表构造哈希
摘要:以下是以链表方式解决冲突问题,还有一种类似方法为哈希桶的方法,固定桶的个数以及桶的大小,这样可以计算查找的时间复杂度为o(1)+o(m),m为桶的大小typedef struct hash_node{ int key; string value; hash_node* next;}... 阅读全文

posted @ 2014-09-10 16:23 菜鸟基地 阅读(109) 评论(0) 推荐(0)

导航