博客专栏  >  编程语言   >  大话数据结构

大话数据结构

用Java语言对数据结构及经典算法进行解析,配以插图和例子,与君共勉。

关注
12 已关注
23篇博文
  • 大话数据结构二十二:图的存储结构之边集数组

    1. 边集数组简介: 边集数组由两个一维数组构成: 1.) 一个存储顶点信息。 2.) 一个存储边的信息,这个边数组每个数据元素由一条边的起点下标(begin)、终点下标(end)、和权(wei...

    2014-02-23 13:09
    2028
  • 大话数据结构二十一:图的存储结构之邻接多重表

    1.引言: 若要删除左边的(V0,V2)这条边,需要对图下表的阴影两个结点进行删除操作。 2.邻接多重表的存储结构: iVex和jVex:是与某条边依附的两个顶点在顶点表中...

    2014-02-23 12:58
    4133
  • 大话数据结构二十:图的存储结构之十字链表

    1. 引言: 对于有向图来说,邻接表是有缺陷的: 邻接表:关心了出度问题,想了解入度就必须要遍历整个图才知道。 逆邻接表:解决了入度,却不了解出度的情况。 能否把邻接表和逆邻接表结合起来呢?答...

    2014-02-23 12:01
    2638
  • 大话数据结构十九:图的存储结构之邻接表

    1. 邻接表(无向图)的特点: 有时候邻接矩阵并不是一个很好的选择: 如上图: 边数相对顶点较少,这种结构无疑是存在对存储空间的极大浪费。 邻接表: 数组和链表结合一起来存储。 1.)顶...

    2014-02-23 11:08
    1398
  • 大话数据结构十八:图的存储结构之邻接矩阵

    1. 邻接矩阵(无向图)的特点: 图的邻接矩阵存储方式是用两个数组来表示图: 1.)一个一维数组存储存储图中顶点信息。 2.)一个二维数组(称为邻接矩阵)存储图中边或弧的信息。 上图中我...

    2014-02-22 22:22
    1289
  • 大话数据结构十七:图的一些概念

    图的基本术语: 1) 图(Graph):图G由两个集合V和E组成,记为G=(V,E),这里V是顶点的有穷非空集合,E是边(或弧)的集合,而边(或弧)是V中顶点的偶对。     顶点(Vertex)...

    2013-11-12 22:55
    1406
  • 大话数据结构十六:哈夫曼树(最优二叉树)

    1. 引子 当前素质教育的背景下,小学的学科成绩都改为了优秀、良好、及格、不及格这样的模糊词语,而不再通报具体的分数。 用代码可以表示如下: if( a < 60 ) System.out...

    2013-11-10 13:46
    1535
  • 大话数据结构十五:线索二叉树

    1. 什么是线索二叉树? n个结点的二叉链表中含有(2n-(n-1)=n+1个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")。这...

    2013-11-07 21:46
    1258
  • 大话数据结构十四:二叉树的顺序存储结构(数组实现)

    1. 顺序存储结构: 二叉树的顺序存储结构就是用一维数组存储二叉树中的结点。 2. 完全二叉树: 完全二叉树由于其结构上的特点,通常采用顺序存储方式存储。一棵有n个结点的完全二叉树的所有结...

    2013-11-04 23:40
    5494
  • 大话数据结构十三:二叉树的链式存储结构(二叉链表)

    1. 二叉树的特点 i、每个结点最多有两颗子树 ii、左子树和右子树是有顺序的,次序不能任意颠倒 iii、即使树中某结点只有一颗子树,也要区分它是左子树还是右子树 2. 二叉树五...

    2013-11-03 22:25
    1568
  • 大话数据结构十二:字符串的模式匹配(BM算法)

    1. BM算法简介: KMP算法其实并不是效率最高的字符串匹配算法,实际应用的并不多,各种文本编辑器的“查找”功能大多采用的是BM算法(Boyer Moore)。BM算法效率更高,更容易理解。 ...

    2013-10-27 21:27
    3683
  • 大话数据结构十一:字符串的模式匹配(KMP算法)

    1. KMP算法简介: kmp算法是一种改进的字符串匹配算法,相比朴素算法,KMP算法预先计算出了一个哈希表,用来指导在匹配过程中匹配失败后尝试下次匹配的起始位置,以此避免重复的读入和匹配过程。这个...

    2013-10-27 09:14
    2524
  • 大话数据结构十:字符串的模式匹配(BF算法)

    1. BF算法简介: BF(Brute Force)算法是普通的模式匹配算法,又称为朴素匹配算法或蛮力算法,该算法最大缺点就是字符匹配失败指针就要回溯,所以性能很低。 2. BF算法思想:...

    2013-10-22 23:12
    2094
  • 大话数据结构九:队列的链式存储结构(链队列)

    1. 链队列的特点: 链队列其实就是单链表,只不过它是先进先出的单链表,为了实现方便,程序中设置了队头(front),队尾(rear)两个指针。 2. Java使用数组实现循环队列:  ...

    2013-10-13 13:30
    1455
  • 大话数据结构八:队列的顺序存储结构(循环队列)

    1. 什么是队列? 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 2. 队列的特点: 队列是一种先进先出(First In First out)的线性表,...

    2013-10-12 01:11
    3139
  • 大话数据结构七:两栈共享存储空间(双向栈)

    1. 为什么要使用双向栈? 通过上一篇博客特殊的线性表(栈),可以知道栈的顺序存储性能相对较高,因为它不存在插入和删除时移动元素的问题,但是它有一点缺陷:要实现确定数组存储容量的大小,万一不够,需要...

    2013-10-10 01:06
    2229
  • 大话数据结构六:特殊的线性表(栈)

    1. 什么是栈? 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。 2. 栈的特点: 1.) 栈又称为后进先出(Last In First out)的线性表,栈元素具有线性关系,即前驱后...

    2013-10-09 00:08
    1763
  • 大话数据结构五:线性表的链式存储结构(双向链表)

    1. 双向链表:在单链表的每个结点中,再设置一个指向其前驱结点的指针域,那么在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前驱。 2. 单链表和双向链表比较: 单链表:总是要从头到...

    2013-10-07 22:04
    1250
  • 大话数据结构四:线性表的链式存储结构(单向循环链表)

    1. 单向循环链表:将单链表尾结点的指针端由空指针改为指向头结点,使整个单链表形成一个环,这种头尾相接的单链表称为单向循环链表。 2. 单向循环链表和单链表实现的区别: 1.)添加一个结点到单向循环链...

    2013-10-07 18:02
    1458
  • 大话数据结构三:线性表的链式存储结构(静态链表)

    1. 静态链表:用数组描述的链表叫静态链表,通常为方便数据插入,我们会把数组建的大一些。 2. 数组元素(node):由两个数据域组成(data,cursor)。数据域data用来存放数据元素,也就是...

    2013-10-06 22:28
    1155

python
1515793
spring探索
2761430
细说php
76957

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部