随笔分类 -  数据结构与算法

图的最小生成树
摘要:一个有 n 个顶点的连通图法生成树是原图的极小连通子图,它包含原图中所有的 n 个顶点,并且具有保持图连通的最小的边。 根据生成树的定义,具有 n 个顶点的无向连通图不管它的生成树是怎么样的,它有且仅有 n-1 条边。 如果一个无向连通图是一个带权图,那么在它所有的生成树中必定有一棵树的边的权值最小 阅读全文

posted @ 2018-11-14 11:21 猫咪大王 阅读(642) 评论(0) 推荐(0)

图的遍历操作
摘要:图的遍历操作分为广度优先遍历和深度优先遍历。 对于连通图而言,从某个顶点出发是一定能够到达任意一个顶点的。 对于非连通图,从某个顶点出发不一定能走完所有的顶点,但是我们同样可以将连通图的方法应用到非连通图: 只需要将图中的每个顶点都作为初始顶点进行遍历就可以访问到所有的顶点。对于已经访问过的点我们可 阅读全文

posted @ 2018-11-13 12:54 猫咪大王 阅读(266) 评论(0) 推荐(0)

图的存储结构
摘要:图是顶点和边的集合。顶点可以采用线性表存储,边的存储问题其实就是矩阵的存储问题。 我们常用的图的存储方法有邻接矩阵和邻接表两种,十字链表存储也是可以的。这个主要介绍前面两种。 1、邻接矩阵 在邻接矩阵存储方法中,图的顶点是保存在一个一维数组中,图的边是保存在一个二维数组之中。结构体定义如下 我们假设 阅读全文

posted @ 2018-11-13 11:06 猫咪大王 阅读(584) 评论(0) 推荐(0)

图的基本概念
摘要:图 是由顶点集合和顶点间的关系集合组成的一种数据结构,通常表示为 G = (V,E) 。其中V表示顶点集合,E表示顶点之间的关系集合。 下面是几种我们常见的图。 有向图 是指顶点对<x,y>是有序的,对于有序图来说<x,y>与<y,x>是两条不同的边。有向图中的边又称为弧。 无向图 中顶点(x,y) 阅读全文

posted @ 2018-11-13 09:55 猫咪大王 阅读(474) 评论(0) 推荐(0)

线索索引查找
摘要:以下都是我阅读《大话数据结构》线索索引查找部分的总结。 使用索引的方式查找数据在生活中非常常见。比如使用字典查找数据,我们需要查找,“博”这个字,我们首先是翻到前面的目录页,根据拼音查找到"bo",得到对应的页面数,然后再把字典翻到对应的页面数,进行查找。 前面的拼音目录就是所谓的索引。 一、定义 阅读全文

posted @ 2018-07-18 16:31 猫咪大王 阅读(361) 评论(0) 推荐(0)

有序表查找
摘要:好久没上博客园了,之前说好的一周写一个博客来记录自己的考研计划也落空了。 忙着复习,好久都没有打开电脑,计划也都是写在纸上了。最新开始数据结构的复习才打开了电脑。 开始敲代码的感觉真好。看来我注定是一个码农了。以后还是要多敲敲代码,毕竟是以后吃饭的家伙,三日不练,生疏啊。 不唠叨了,说说今天要写的主 阅读全文

posted @ 2018-07-17 16:29 猫咪大王 阅读(2042) 评论(0) 推荐(0)

Java 自定义实现链表
摘要:自定义实现链表很简单,只需要明白链表是什么样子的数据结构。 下图表示一种单向列表。其中指针first指向队头,last指向队尾,curr指向当前读的数据。 下面是我的实现代码,很简单,明白上述结构后,关键是构造一个内部类,里面包含一个指向下一个元素的对象(指向下一个元素的指针) 实践一下,看能不能使 阅读全文

posted @ 2018-03-09 17:59 猫咪大王 阅读(3073) 评论(1) 推荐(0)

【算法】串匹配
摘要:package com.lkb.demo.test; public class StringTest { public static void main(String[] args) { StringTest test = new StringTest(); char[] src = {'c','d','d','c','d','c'}; ... 阅读全文

posted @ 2017-11-12 22:36 猫咪大王 阅读(240) 评论(0) 推荐(0)

堆栈
摘要:堆栈是一种特殊的线性表。 堆栈中的数据元素以及数据元素间的逻辑关系和线性表完全相同,差别是:线性表允许在任意位置插入和删除数据元素,但是堆栈值允许在固定的一段进行插入和删除数据操作。 堆栈中允许插入和删除操作的一段称为栈顶,另外一端称为栈底。 栈顶当前的位置是动态的,标识栈顶当前位置的变量称为栈顶指 阅读全文

posted @ 2016-12-30 16:43 猫咪大王 阅读(213) 评论(0) 推荐(0)

线性表
摘要:线性表是最简单的线性结构,线性表的主要操作特点是可以在任意位置插入和删除一个数据元素。 线性表可以用顺序存储结构和链式存储结构存储。 用顺序存储结构事先的线性表称为顺序表,用链式存储结构存储的称为链表。 线性表的抽象数据类型主要包括两个方面:即数据集合和该数据集合上的操作集合。 1、数据集合 Dat 阅读全文

posted @ 2016-12-30 09:00 猫咪大王 阅读(151) 评论(0) 推荐(0)