
数据结构
文章平均质量分 77
Reage--
这个作者很懒,什么都没留下…
展开
-
数据结构学习二(一个简单栈实现)
栈( stack ) 是限定仅在尾部进行插入、删除操作的线性表。因此,对栈来说,当前插入的位置有其特殊含义,称为栈顶(top),栈的基地址被称为栈低。栈的主要性质:后进先出(last in first out ,简称LIFO结构)。主要用于递归、撤销、回溯的功能中。我们看一个经典的栈的示意图。原创 2012-10-29 16:27:54 · 929 阅读 · 0 评论 -
数据结构学习三(一个简单的队列实现)
队列(queue)是一种先进先出(first in first out,简称FIFO )线性表。它只允许在一端插入,在一端删除元素。队列像一个单行道的路,先进去的一定先出来。 比如在队列中依次放入 a1,a2,a3,a4(a1 先放入) 从队列中取出元素的顺序 a4,a3,a2,a1(最先取出) 代码如下:(本代码只经过本来的简单测试,可能存在问题。请相信自己的能力,敢于质原创 2012-10-30 20:19:12 · 1025 阅读 · 0 评论 -
多维数组的实现
数组一旦被定义了,它的维数和维界就不会变。因此,除了结构的初始化和销毁之外,数组只有存取元素和修改元素。数组一般分为行序和列许。一般系统都是用的行许。以2维数组a[m][n]为例列序:a[0][0] a[1][0] ...... a[m-1][0].............a[m-1][0] a[m-1][1] ...... a[m-1][n-1]行序列:原创 2013-03-29 16:16:27 · 1604 阅读 · 0 评论 -
数据结构学习一(单链表的操作)
自己写的一个单链表的例子,注释写的不是特别好,里面可能代码的不是很好。新手入门可以看下。包括链表的插入、删除、查找、合并、逆序#include #include #define TYPE char#define FORMAT "%c"#define CROSSBORDER -1#define NEGATIVE 100//链表的一个节点typedef stru原创 2012-10-23 17:46:03 · 957 阅读 · 0 评论 -
数据结构学习五(稀疏矩阵的实现,三元组)
使用三元组实现稀疏矩阵的建立、逆转、乘法。乘法没有使用附加向量,是自己想得。有错误请谅解。性能可能没有书上介绍的好。代码如下:(本代码只经过本人的简单测试,可能存在问题。请相信自己的能力,敢于质疑。欢迎提供更好的、更快、更简洁的代码或者方法和指出错误。在ubuntu12.04使用gcc4.6.3版本编译,在vc中如出现错误,请谅解。)/**created by Reage原创 2012-12-04 10:19:06 · 1984 阅读 · 0 评论 -
数据结构学习四(KMP算法实现)
算法思想描述:KMP算法是通过分析模式串,预先计算每个位置发生不匹配的时候,可以省去重新匹配的的字符个数。整理出来发到一个next数组, 然后进行比较,这样可以避免字串的回溯,模式串中部分结果还可以复用,减少了循环次数,提高匹配效率。通俗的说就是KMP算法主要利用模式串某些字符与模式串开头位置的字符一样避免这些位置的重复比较的。例如 主串: abcabcabcabed , 模式串:abca原创 2012-11-28 21:31:49 · 1514 阅读 · 2 评论