数据结构
文章平均质量分 85
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
数据结构——动态链表
说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。#include #include const int OK = 1; //定义正确返回const int ERROR = -1; //定义错误的返回const int OVERFLOW = -2; //定义溢出//定义元素类型typedef int ElemType;//定义返回类型typedef原创 2014-12-01 16:10:00 · 2265 阅读 · 0 评论 -
数据结构——数组
说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。ElemType *elem记录第一个元素的地址,也就是数组的首地址(基地址)int length 是实际数组中数据的长度int listsize 是给数组分配的空间长度#include #include #include #define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量#de原创 2014-12-01 14:35:02 · 2336 阅读 · 0 评论 -
数据结构——静态链表
说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。#include const int OK = 1; //定义正确返回const int ERROR = -1; //定义错误的返回const int OVERFLOW = -2; //定义溢出#define MAXSIZE 1000 //链表的最大长度//定义元素类型typedef int Elem原创 2014-12-02 13:03:24 · 3266 阅读 · 0 评论 -
数据结构——栈
如上图所示,刚开始base指针和top指针都指向栈低,当压栈的时候,top指针向上移动,直到栈满后,栈顶指针top指向栈外地址,此时我们需要再分配新空间。#include #include #include #define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACKINCREMENT 10 //存储空间分配增量const int OK =原创 2014-12-02 20:38:53 · 1863 阅读 · 0 评论 -
数据结构——队列及循环队列
说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。#include #include #define OK 1;#define ERROR -1;typedef int QElemType;typedef int Status;//定义队列节点typedef struct QNode{ QElemType data; struct QNod原创 2014-12-02 22:49:17 · 2257 阅读 · 0 评论 -
数据结构——动态链表(C++)
定义一个节点:#include using namespace std;typedef int T;struct Node{ T data; Node* next; Node(const T& d):data(d), next(NULL){} operator T(){ return data; }};int main(){ Node a(10), b(20);原创 2014-12-05 22:00:36 · 6896 阅读 · 2 评论 -
数据结构——串的朴素模式和KMP匹配算法
一、朴素模式假设我们要从主串S=”goodgoogle"中找到子串T=“google"的位置,步骤如下:i表示主串的当前位置下标,j表示子串的当前位置下标,如上图在第一轮比较(i=1开始)中j=4和i=4的位置不匹配,接下来就要指针回退,从i=2开始比较,如下:如此反复直到比较到 i =(主串长度-子串长度+1)的位置或者 j = 子串的长度 就退出比较循环,上面的主串和子串在比较到i=5的位置就原创 2014-12-07 14:34:21 · 5710 阅读 · 1 评论 -
数据结构——树
一、树的定义树是n(n>=0)个结点的有限集。n=0时称为空树,在任意一颗非空树:1、有且仅有一个特定的根结点。2、当n>1时其余结点可分为m(m>0)个互不相交的有限集T1、T2、.....Tm,其中每一个集合本身又是一棵树,并且称为根的子树。二、结点的度,拥有的子树称为结点的度如上图结点A的度是2,结点B的度是1,结点C的度是2,结点E的度是3,结点G的度是0度为0的节点称为叶子结点,度不为0原创 2014-12-07 15:46:20 · 2380 阅读 · 0 评论 -
数据结构——二叉树
一、二叉树的定义二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二、二叉树的特点1、每个结点最多有两颗子树。2、左子树和右子树是有序的。3、即使树中只有一课子树也要区分左右子树。二叉树具有五种基本形态:1、空二叉树。2、只有一个根结点。3、根结点只有左树。4、根结点只有右树。5、根结点既有左子树原创 2014-12-14 18:29:40 · 1996 阅读 · 0 评论