04-数据结构
文章平均质量分 91
ncepustrong
这个作者很懒,什么都没留下…
展开
-
数据结构---->串的模式匹配算法
字符串模式匹配有着广泛的应用,如求最大公共子串、最长回文字符串、L-Gap、数据压缩、DNA序列匹配等问题。所谓模式匹配就是在目标字符串中寻找第一个子串在目标串中的位置的过程,要寻找的字串即为模式。 目标 T :“Beijing” 模式 P :“jin” 匹配结果= 3 一、BF算法(也叫传统的字符串模式匹配算法、朴素模式匹配、穷举模原创 2012-11-13 10:26:38 · 2260 阅读 · 0 评论 -
数据结构---->哈希表
一、哈希表 哈希表又称散列表。哈希表存储的基本思想是:以数据表中的每个记录的关键字k为自变量,通过一种函数H(k)计算出函数值。把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。在此称该函数H为哈希函数或散列函数。按这种方法建立的表称为哈希表或散列表。例如,要将关键字值序列(3,15,22,24),存储到编号为0到4的表长为5的哈希表中。转载 2012-12-28 16:37:44 · 2480 阅读 · 0 评论 -
数据结构---->树
树树结构中数据元素之间的逻辑关系是前 驱唯一而后续不唯一,即数据元素之间是一对多的关系。如果直观的观察,树结构是具有分支的层次结构。树结构在客观世界中广泛存在,如行政区划、社会组织机构、家族世系等都可以抽象为树结构。一、树的定义及基本术语树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种原创 2012-11-25 16:20:42 · 2348 阅读 · 0 评论 -
数据结构---->图的基本术语
图: 记为 G=(V,E) V=vertex E=edge其中:V是G的顶点集合,是有穷非空集;E是G的边集合,是有穷集。有向图:图G中的每条边都是有方向的;无向图:图G中的每条边都是无方向的;完全图:图G任意两个顶点都有一条边相连接;若 n 个顶点的无向图有n(n-1)/2 条边, 称为无向完全图.若n个顶点的有向图有n(n-1) 条边, 称为有向完全图原创 2012-12-27 19:54:15 · 1564 阅读 · 0 评论 -
数据结构---->优先队列(堆)
堆一、堆的定义堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:结构性质:堆总是一棵完全树。 堆序性:堆中某个节点的值总是不大于或不小于其父节点的值;将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的意义就在于:最快的找到最大/最小值,在堆结构中插入一个值重新构造堆结构,取走最大/最小值后重新构造堆结构,其时间复杂度为O(logN),转载 2013-05-09 15:54:01 · 1090 阅读 · 0 评论 -
数据结构---->队列
栈与队列(二)栈和队列是两种重要的数据结构。从栈与队列的逻辑结构上来说,它们也是线性结构,与线性表不同的是它们所支持的基本操作是受到限制的,它们是操作受限的线性表,是一种限定性的数据结构。二、队列2.1队列的定义及抽象数据类型队列(queue)简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。在队列中把插入数据元素的一端称为队原创 2012-11-18 22:35:00 · 1404 阅读 · 0 评论 -
数据结构---->绪论
一、什么是数据结构数据结构就是研究三个方面的主要问题的:数据的逻辑结构、数据的存储结构以及定义在数据结构上的一组操作。即研究按照某种逻辑关系组织起来的一批数据,并按一定的映像方式把它们存放在计算机的存储器中,最后分析在这些数据上定义的一组操作。数据结构包括:1.数据的逻辑结构2.数据的存储结构3.数据的运算程序设计实质=好算法+好结构二、数据的逻辑结构定义:由某原创 2012-10-26 15:19:56 · 1621 阅读 · 0 评论 -
数据结构---->广义表
广义表(List)一、广义表定义广义表一般记为LS=(a1,a2,…,an),其中LS是广义表(a1,a2,…,an)的名称,n是它的长度。在线性表中ai只限于单个元素,而在广义表的定义中,ai可以是单个元素,也可以是广义表,分别称为广义表LS的原子和子表。一般大写字母来表示广义表的名称,小写字母来表示广义表的原子。当广义表非空时,称第一个元素ai为LS的表头(Head),称其余元素组成的原创 2012-11-17 11:49:23 · 1416 阅读 · 0 评论 -
数据结构---->数组
数组(Arrays)一、数组1.1数组的定义数组: 由一组名字相同、下标不同的n(n≥1)个相同数据类型的数据元素a0,a1,a2,...,an-1构成的占用一块地址连续的内存单元的有限集合数组的处理比其它复杂的结构要简单① 数组中各元素具有统一的类型;② 数组元素的下标一般具有固定的上界和下界,即数组一旦被定义,它的维数和维界就不再改变。③数组的基本操作比较简单,原创 2012-11-15 21:34:58 · 1778 阅读 · 0 评论 -
数据结构---->图的应用(拓扑排序,关键路径)
七、图的应用7.1、两种常用的活动网络( Activity Network):① AOV网(Activity On Vertices)—用顶点表示活动的网络AOV网定义:若用有向图表示一个工程,在图中用顶点表示活动,用弧表示活动间的优先关系。Vi 必须先于活动Vj 进行。则这样的有向图叫做用顶点表示活动的网络,简称AOV。② AOE网(Activity On Edges)—用原创 2012-12-27 22:58:01 · 2468 阅读 · 0 评论 -
数据结构---->图的最短路径
六、最短路径典型用途:交通问题。如:城市A到城市B有多条线路,但每条线路的交通费(或所需时间)不同,那么,如何选择一条线路,使总费用(或总时间)最少?问题抽象:在带权有向图中A点(源点)到达B点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径。两种常见的最短路径问题:一顶点到其余各顶点、任意两顶点之间6.1、单源最短路径—--用Dijkstra(迪杰斯特拉)算法原创 2012-12-27 22:47:45 · 2524 阅读 · 0 评论 -
数据结构---->图的遍历
三 图的遍历遍历定义:从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每个顶点仅被访问一次,就叫做图的遍历,它是图的基本运算。避免重复访问?图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点。为了保证图中的各个顶点在遍历过程中访问且仅被访问一次,需要为每个顶点设一个访问标志,Vertex 类中的visite原创 2012-12-27 21:35:36 · 1166 阅读 · 0 评论 -
数据结构---->图的存储结构
树的存储结构2.1邻接矩阵(数组)表示法图没有顺序映像的存储结构,但可以借助数组来表示数据元素之间的关系。建立一个顶点表(记录各个顶点信息)和一个邻接矩阵(表示各个顶点之间关系)顶点表:(a,b,c,d)邻接矩阵:分析1:无向图的邻接矩阵是对称的;分析2:顶点i 的度=第i 行 (列) 中1 的个数;特别:完全图的邻接矩阵中,对角元素为0,其余全1。有向带权原创 2012-12-27 20:12:39 · 3855 阅读 · 0 评论 -
数据结构---->线性表
线性表一、线性表抽象数据类型1.1、定义线性表是指n (n>=0)个相同类型的数据元素a0,a1,...an-1所构成的有限线性序列,其一般描述为:LinearList=(a0,a1,…,an-1)1) 其中LinearList称为线性表的名称2) 每个ai(n-1≥i≥0)称为线性表的数据元素,可以是整数、浮点数、字符或类3) 表中相邻元素之间存在着顺序关系:将ai-1称原创 2012-11-08 16:54:44 · 2759 阅读 · 0 评论 -
数据结构---->栈
栈与队列(一)栈和队列是两种重要的数据结构。从栈与队列的逻辑结构上来说,它们也是线性结构,与线性表不同的是它们所支持的基本操作是受到限制的,它们是操作受限的线性表,是一种限定性的数据结构。一、栈1.1栈的定义和抽象数据类型栈(stack)又称堆栈,它是运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。表中进行插入、删除操作原创 2012-11-18 19:03:52 · 1260 阅读 · 0 评论 -
数据结构---->堆栈的使用
三 、堆栈的应用堆栈所具有的后进先出特性,使得堆栈成为程序设计中非常有用的工具。3.1进制转换进制转换是一种常见的数值计算问题,例如将十进制数例如:(2007)10= (3727)8,其运算过程如下:上述过程是从低位到高位产生8进制数的各个数位,而在输出时,一般来说都是从高位到低位进行输出,这正好产生数位的顺序相反。换一个说法就是,越晚生成的数位越早需要原创 2012-11-18 22:58:42 · 1308 阅读 · 0 评论 -
数据结构---->图的连通性和最小生成树
图的连通性和最小生成树四 图的连通性生成树:是一个极小连通子图,它含有图中全部顶点,但只有n-1条边。生成森林:由若干棵生成树组成,含全部顶点,但构成这些树的边是最少的。1:对连通图进行遍历,得到的是什么?——得到的将是一个极小连通子图,即图的生成树!由深度优先搜索得到的生成树,称为深度优先搜索生成树。由广度优先搜索得到的生成树,称为广度优先搜索生成树。2:对非连通转载 2012-12-27 22:10:01 · 7726 阅读 · 0 评论