6.2.3十字链表

    科技2022-07-12  148

    三种存储结构叫做十字电表,什么是十字盖表呢?首先我们应该知道十字电表一定是针对有相图的一种链式存储结构,首先时间表是存储有向图的,另外它是一种恋是素质结构,那么我们之前也学习过一种电视存储结构叫做连接表,我们先来简单回一下,什么是邻接表法,那么在邻接表法当中我们有两种表,大家还记得吗?第1种表示顶点表,每个顶点表有若干高的顶点表节点构成,它们存放在数组当中,那么每个定点表节点他们有两块玉,第1个域是存放该景点数据的data域,第2个域是存放指向属于它边表的图指针,那么接下来还有另外一种表叫做边表,在边表当中有边表节点,那么边表节点也就是有两块玉,第1个域存放的是带弧指向湖头部分的顶点下一个表就像看一个这是一个。是指向下一个边表节点的指针,它说这个是有一个列表法的两个表,接下来我们来看一个有相同的例子,这是一个有相同我们用一些表法来存放它,这是它的连接表,那么根据我们之前的学习,我们知道在临界表法当中寻找某一个定点,所有的出边,也就是以该定点为弧尾的弧是非常。湖北的湖是非常容易的,但是找到某一个顶点,所有的入编是非常困难的,我们要编给整个编表,也就是所有顶点的编表,才能找到该顶点所有的入编。所以根据这样的弊端,我们演出了史字根表这样一种新的存储结构,在十字链表当中,我们寻找某一个钉钉的初编,很简单,我们学校某个顶点的入编也非常简单,那么接下来我们就来学习十字链表,我们来看一看识字表是如何达到这样的特点的,那么实质电表它改变了我们对应的顶点结构以及边表节点的结构,我们来看它与之前有什么样的不同好,那么根据这样的要求,在14个电表当中,我们不仅仅要向联系表当中我们要存放一个顶点的出边,他的所有的初编也就是对应到出边代表我们也要保存一个顶点,所有的入编也就是要保存他的入编单位表,所以根据这样要求,我们要修改对应的节点结构,我们来看我们是如何进行修改的其中。利用到节点结构,我们来看我们是如何进行修改的。其中顶点表节点我们分为了三个域,第1个域依旧是存放数据的数据域,而之后养育此方的则是触变单位表和入边单元表的投指针,那么第1个for cn实验什么的则是入边单位比较大,第1个节点的指针,而第2个放的是初编单位表的头指针,也就是他第1个节点的指针好,这就是顶点表节点的节点结构,那么接下来我们看一下,我们对边没有节点做出了哪些修改,我们希望它重新划分为5个月,这5个月表示是什么呢?我们以此来看第1个月是尾月,它存放的是该活湖北的端点,那么第2个玉则是头玉,它存放的是该活胡头部分的短点,接下来的两个月h链卡是和DNA银卡,它是指针玉,第1个h卡它存放的是胡头相同的,下一条边也就是下一个边表节点的水针。那么第2个玉则是头玉,它所发的是该活动胡头部分的短点,接下来的两个月指定考试和天命考,它是指针月第1个h并考,它存放的是弧头相同的下一条边,也就是下一个边表节点的指针,那么第2个率t给你看的情况则是下一个互为相同的节点的指针,那么这是h link和t性q它们是两个指针域,接下来的最后一个月是存放该边的数据,如果钙边是有权重的话,我们则要存放一个infer数据来表示它的全值,那有的时候我们也会发现我们只有4个月,因为我们将最后一个全职的这个infer玉给忽略掉了,然后这就是我们修改过后的顶点表节点和边表节点的节点结构好,接下来我们就来看一个小例子,看一下是如何将这些节点组合成一个10字根表的首先是一个乡土我们现在还是。变成是一个有相图,我们接下来还是要形成它的顶点表,因为它的像素有4个顶点,所以顶点表有4个顶点,表节点依旧存放在数组当中,所以它对应到前面0123时数下标,接下来我们要将数据部分进行以4档负值abcd好,接下来我们就来形成它的编表了,怎样形成编表呢?我们来看第1条边,那么就是顶点a这样一条出边从a到d的这样一条弧,那么首先该边是顶点a的出边,所以我们修改顶点a到first order指针,也就是它的出边单列表的图指针,将它指向改节点,那么接下来我们修改ab,没有节点当中对应的,那么因为它的弧尾部分是顶点,a弧头部分是顶点d,所以将两个域修改为对应a和d的数下标的就是0和3,还有这样我们就形成了第1个边角节点吧我们是不是还望指正他。我们是不是还忘记修改了一个指针啊,一个是顶点地的说实验指针,它的路边单元表的图指针,我们要向它指向该点表节点,因为该户是顶点地的一条入户好,接下来我们来欣赏下一条边,那么我们来看顶点b顶点b有两条出边,第1条是从b指向a的,这样一条边那么依旧,我们要将顶点d的-3的指针指向该节点,并对该节点进行负值,那么它的尾域要修改为一投入要修改为0,对应的是b和a的数下标,接下来我们要修改什么呢?是不是1就是顶点a的负c呢?一是将顶点a的入编单位表的头指针指向带节点,还有这样我们就形成了下一个编导,并没有节点,那么接下来我们看下一条弧bc,那么这e就是b的一条出弧,所以我们要将上一个b的出弧的这个边表节点的替另一个月指向该节点然后。指向OA节点,然后这样我们就形成了下一个边的变量节点,那么接下来我们看下一条弧bc,那么这e就是b的一条出弧,所以我们要将上一个b的出弧的这个边表节点的p立刻越指向该节点,然后对该节点进行负值,那么它的弧尾部分是b弧的部分是c,所以对应的数下标是1和2,接着它的弧头部分的端点是不是2啊?所以要修改c的负极性,指针向它指向该节点好,这样我们就形成了bc这样一条邮箱边,接下来我们来看c端点c端点有两条有相边从c指向a的,这样一条有交边,你就要形成它对应的点表节点依旧因为它是c的出边,所以要将c的first of all的指针指向该节点,那么对应我们修改它的尾域和它的投入,接下来我发现它是不是与ba也就是10的这个边边角节点它的投运是相同的呀。依旧因为它是c的出边,所以要将c的first order的指针指向该节点,那么对应我们修改它的北域和它的投入,接下来我们发现它是不是与ba也就是10的这个边边有接电,它的同域是相同的呀,所以我们要将10这个边表节点到h link指向在节点将它们串起来,那么接下来我们还剩下cd这样一条边,那么它依旧是顶点c的出边,所以要将它连接到它的书边,单列表上,接着你就修改它的尾运和投运,那么它的投入与哪一个并表节点相同呢?它们是不是与03这一个标准节点相同啊?说明它们的骨头指向了相同的顶点,也就是顶点a,所以要将它们串起来,也就是相邻3这个节点呢,也是link指向23这个节点,这样我们就形成了cd这条边的边表节点好,5条边我们已经都生成了它的边缘节点这样我就生成了。 B这条边的边表节点好,5条边我们已经都生成了它的边表节点,这样我们就生成了对应该有相同的十字链表,那么我们在该十字面表当中找到某一个顶点的出边,我们可以根据它的出边单元表疑似的便利,那么我们如果想要找到某一个顶点的路边,所以我们要从它的路面单边表达图纸上开始意思的,便利它的路边打印表就可以了,好这就是使字面表,那么最后我们还是来看一下十字EMAIL,它是如何用语言来定义的它与连接表相同,你就有这样三个结构体分别表示是啊,它的边表节点以及它的零点表节点,最后是时间表,首先我们来看它的边表节点边表节点,这里有4个变量,首先我们要表示它的伪誉和投入,这个月我们用两个整形变量来表示了违约和投入,因为我们知道我们对应的顶点是用数字下标来表示的,所以这个也用整形变量就可以表示对应的顶点了。宁可考虑,因为我们知道我们对应的顶点是用数字下标来表示的,所以就可以用整形变量就可以表示对应的顶点了,这张是两个指针分别是h面考核,t命考维护的是出户单元表和入户单列表,那么最后这一个注释掉的变量依旧是表示的是对银狐的权重,如果他有的话,我们要增加这一个保存权重的这个变量因素,好,这就是对应着编表节点的结构体定义,那么接下来我们来看一下顶点表节点的几个问题定义,那么它有三个变量,第1个变量是保存数据的data接下来的后两个变量是保存入弧单列表头指针的for cn以及初步的代表投掷帧的first out,最后就是这个十字列表了,那么因为我们所有的顶点是存放在数组当中的,所以这给我们生成了一个数字,s和s的保存了所有顶顶表节点就是顶点表节点对应的结构体之后表示。这个意思啊,保存了所有定点表节点就是定点表节点对应的结构体,那么之后我们就有两个呈前面量,表示的是顶点的数量以及bn的数量好,这就是14k秒的语言定义,它与连接表相同,其实对应某一个相同的时间表并不一定为一,但是每一个时间表都可以表示成一个唯一的有相图好,这就是本节课的全部内容。

    Processed: 0.011, SQL: 8