发布时间:2013-01-08 10:35:43
转载请注明来源chengyaogen.blog.chinaunix.net 设编号分别为:1,2,...,n的n个人围坐一圈。约定序号为k(1 <= k < = n)的人从1开始计数,数到m的那个人出列,他的下一位又从1开始计数,数到m的那个人又出列,依次类推,直到所有人出列为止。 设n=8,k=3,m=4时,如图所示: 出列为:6,2,7,4,3,5,1,8 算法思路:用一个不带头结点的循环链表来处理Josephu问题:先构成一个有n个结点的单循环链表,然后从第k结点起从1计数,计到m时,对应结点从链表中删除;然后再从被删除结......【阅读全文】
发布时间:2013-01-08 10:35:15
转载请注明来源chengyaogen.blog.chinaunix.net 一、图是一种比线性表和树更为复杂的数据结构 线性表:元素之间是线性关系,即表中元素最多一个直接前驱和一个直接后继 树:元素之间是层次关系。除根外,元素只有唯一直接前驱,但可以有若干个直接后继 图 :任意的两个元素都可能相关,即图中任一元素可以有若干个直接前驱和直接后继,属于网状结构类型 注意:实际上,树是图的特列---有向无环图 图的定义: 图(Graph)是一种非线性数据结构,形式 化描述为:Graph=(V,R......【阅读全文】
发布时间:2013-01-08 10:35:08
图的存储结构 图的存储结构除了要存储图中各个顶点的本身信息外,同时还要存储顶点与顶点之间的所有关系(边的信息),因此,图的结构比较复杂,很难以数据元素在存储区中的物理位置来表示元素之间的关系,但也正是由于其任意的特性,故物理表示方法很多。常用的图的存储结构有邻接矩阵、邻接表、十字链表和邻接多重表。 一、 邻接矩阵表示法 对于一个具有n个结点的图,可以使用n*n的矩阵(二维数组)来表示它们间的邻接关系。图8.10和图8.11中,矩阵A(i,j)=1表示图中存在一条边(Vi,Vj),而A(i,j)=......【阅读全文】