数据结构
zhouyelihua
昨夜星辰昨夜风
展开
-
关于树的一些算法操作包含树的非递归遍历(c源代码)
//可直接运行//武汉大学学号:2009301750002#include#include#include typedef char BTElemtype;typedef struct Node{BTElemtype data;struct Node *lc原创 2011-08-19 00:41:18 · 1886 阅读 · 2 评论 -
各种排序算法
1.希尔排序希尔排序的下界和采取的序列有关系typedef int ElementType;void shellsort(ElementType array[],int N){ int i,j,Increment; ElementType tmp; for(Increment=N/2;Increment>0;Increment/=2) for(i=Increment;i<N原创 2015-05-24 16:36:56 · 538 阅读 · 0 评论 -
已知入栈顺序的n个元素求合理的出栈序列有多少种
在这里先介绍一下好括号序列 好括号序列是指它有一半的走括号和一半的右括号组成,在这个序列中任意找一个空左边的序列右括号数目一定不超过左括号数。)(且从左向右看这个括号序列,看到的右括号数目不超过左括号数。) 下面介绍求证有n个左括号组成的好括号列的个数原创 2011-09-08 16:40:03 · 9690 阅读 · 0 评论 -
拓扑排序的c语言实现
以下的介绍是百度上的,因为这个实在太老了。但是只是单纯自己的一个程序显得不是很完整的。呵呵 通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。离散数学中关于偏序和全序的定义: 若集合X上的关系是R是自反的、反对称的和传递的,则称R是集合X上的偏序关系。原创 2012-08-01 22:46:49 · 10635 阅读 · 3 评论 -
利用有穷自动机匹配字符串
确切的说这程序不是我写的。只是更改了一点啊#include#includevoid fsm(char s[],char p[]);const int N = 105;const int M = 255; int t[N][M]; //t[i原创 2012-07-04 17:18:11 · 2173 阅读 · 0 评论 -
数据结构小知识点汇总。(待累积)
1. 二叉树是有序的,即将其左右子树对换就成为另外的二叉树。 2.树和二叉树的差别是树是不能用顺序存储的,因为树的度是不确定的呃!!原创 2011-08-28 00:27:42 · 692 阅读 · 0 评论 -
链表的c源代码及一些相关操作
//可直接运行#include #include#include /*------------------------------------------------------*/typedef int Elemtype;typedef struct N原创 2011-08-19 00:44:29 · 1241 阅读 · 0 评论 -
顺序链表的一些操作
#include#include#includeusing namespace std;class list{private : int*array_pointer; int arraysize; int length; int increment;publ原创 2011-08-19 00:46:34 · 1164 阅读 · 5 评论 -
需找字符串中重复的最长子串
注意此处说的是重复的最长子串,只要出现重复就好,没说重复的次数。下面给出的代码是编程珠玑中给出的一种实现。他是通过后缀数组的方式实现的。#include#include#includeusing namespace std;int comlen(char*p, char*q)//找出公共的最长子串{ int i = 0; if (p == NULL || q == NUL原创 2015-06-15 00:30:13 · 2066 阅读 · 0 评论