
数据结构
hacke2
这个作者很懒,什么都没留下…
展开
-
数据结构学习阶段总结(一)
数据结构 狭义 数据结构是专门研究数据存储问题 数据的存储包含两个方面:个体的存储 + 个体关系的存储 广义 数据结构既包括数据存储也包括数据的操作 对存储数据的操作就是算法算法 狭义原创 2012-02-05 13:28:10 · 1317 阅读 · 0 评论 -
朴素的模式匹配算法
给出两种算法,感觉这样算效率很低。。/*操作Index的实现算法*///T为非空串。若主串S中第pos个字符之后存在与T相等的子串,则返回第一个这样的子串,则返回第一个这样的子串在S中的位置,否则返回0int Index(String S,String T,int pos){ int n,m,i; String sub; if (pos > 0) { n = StrLengt原创 2012-02-25 21:29:26 · 2451 阅读 · 0 评论 -
队列的链式存储结构及实现
//队列的链式存储结构及实现typedef int QElemType;//链队列的结构typedef struct QNode{ QElemType data; struct QNode * next;}QNode,* QueuePtr;typedef struct{ QueuePtr front,rear //队头,队尾指针}LinkQueue;//入队操作,在链原创 2012-02-23 10:09:37 · 1406 阅读 · 0 评论 -
用数组组成的链表--静态链表
C语言有指针,可以按照上次那个方法做一下,但JAVA,C#,Basic呢?怎么办?前辈们真是聪明,用数组描述指针。这个数组由两部分组成,一个位DATA域,一个位CUR指针域线性表的静态链表存储结构typedef struct { ElemType data; int cur; /* 游标(Cursor) ,为0时表示无指向 */} Component,Stat原创 2012-02-10 22:02:10 · 2791 阅读 · 0 评论 -
单链表的整表删除
单链表的整表删除,先写一些算法思路1.声明一节点p和q;2.将第一个结点赋值给p;3.循环: 将下一结点赋值给q; 释放p; 将q赋值给p;给出代码:bool clearList(LinkList * L){ LinkList p,q; p = (*L)->next; while(p) {原创 2012-02-10 10:16:11 · 1964 阅读 · 0 评论 -
数据结构学习笔记(三)
郁闷!真心听不懂了!敲出代码也是错!百度知道无人解答!不管了,贴出来下午出去散散心!#include #include #include typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}NODE,* PNODE; //NODE等价于struct Node NODE,pNODE等价于str原创 2012-02-05 12:54:13 · 1186 阅读 · 0 评论 -
单链表的整表创建--头插法,尾插法
创建单链表的过程是一个动态生成链表的过程。应依次建立各个结点,并逐个插入链表给出头插法//随机产生n个元素的值,建立代表头结点的单链线性表L(头插法)void CreateListHead(LinkList * L,int n){ LinkList p; int i; srand(time(0)); //随机产生数 *L = (LinkList)malloc(siz原创 2012-02-09 11:03:00 · 7025 阅读 · 0 评论 -
顺序存储结构的插入与删除
看了几个例子,心中有了些底子,把前面有些程序分割开,慢慢写出来。插入算法思路:1.如果插入不合理,抛出异常;2.如果线性表长度大于等于数组长度,则抛出异常或动态增加容量;3.从最后一个元素开始向前遍历到第i个位置,分别将它们都向后移动一个位置;4.将要插入元素填入位置i处;5.表长加1.//在L中第i个位置之前插入新元素e,L的长度加1int listinsert(原创 2012-02-06 16:14:17 · 2135 阅读 · 0 评论 -
单链表的插入与删除
顺序结构的缺点还是蛮大的,现在来看看单链表的插入与删除。单链表中,在C语言可以用结构体指针描述:typedef struct Node{ ElemType data; struct Node * next; //p->data,p->next->data}Node;typedef struct Node * LinkList 有一点很重要比如我随便画一个原创 2012-02-07 16:06:45 · 36452 阅读 · 9 评论 -
数据结构学习笔记(一)
假期以来我都坚持每天看一点郝斌的数据结构视频。讲的很透彻,也很风趣。前几天都是为讲数据结构而做准备,讲了一些结构体和指针,今天终于开始正式将数据结构。说实话,我今天才知道函数的用处。。照着郝斌讲连续存储数组的算法演示,又自己写了一遍,发现有一个错误,左看右看都看不出哪错了,索性贴出了,,,有兴趣的朋友可以看看百度求助,一位牛人看出错误来,谢谢了!重新贴出正确的代码#include原创 2012-01-28 20:29:56 · 2481 阅读 · 3 评论 -
数据结构学习笔记(二)
今天看链表创建和链表遍历算法的演示,自己有照猫画虎写了一遍,遇到了1个错误,丢给M,还是他牛啊,火眼金睛一下就看出来了,贴出来,与大家分享#include #include #include typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}NODE,* PNODE; //NODE等价于s原创 2012-02-03 22:56:52 · 1380 阅读 · 0 评论 -
KMP模式匹配算法实现与改进
/*KMP模式匹配算法实现*///通过计算返回子串T的next数组void get_next(String T,int * next){ int i,j; i = 1; j = 0; next[1] = 0; while (i < T[o]) //T[0]表示串T的长度 { if (j == 0 || T[i] == T[j]) //T[i]表后缀的单个字符,T[j]表前缀的原创 2012-02-26 15:49:11 · 1516 阅读 · 0 评论