本公开涉及一种信息处理方法、装置、可读存储介质及电子设备。该方法包括:根据各双向链表的优先级和双向链表的当前末尾元素,确定本次要移出的目标元素,其中,每一双向链表分别具有不同的优先级,双向链表中存储有具有对应优先级的元素;将目标元素从所属双向链表中移出,以对目标元素进行处理。如此,由于每一双向链表分别具有不同的优先级,并根据各双向链表的优先级和该双向链表的当前末尾元素,确定本次要移出的目标元素,所以,在移出元素之后无需对双向链表进行调整,因此,相较于相关技术中通过二叉堆实现优先队列功能,采用本公开提供的方法,可以极大地提升元素移出的效率,进而提升信息处理的效率。
Information processing method, device, readable storage medium and electronic equipment
【技术实现步骤摘要】
信息处理方法、装置、可读存储介质及电子设备
本公开涉及计算机应用领域,具体地,涉及一种信息处理方法、装置、可读存储介质及电子设备。
技术介绍
在支持优先级的信息处理过程中,信息处理模块进行处理的信息是按照优先级的顺序排列,而不是按照信息处理的先后排列。也就是说,优先级高的信息,即使比优先级低的信息后请求处理,也应该比优先级低的信息先得到处理。因此,在队列传输过程中,优先级高的信息需要比优先级低的信息更早出队,即,信息的出队顺序与入队顺序不同,优先级高的信息先出队,优先级低的信息后出队。相关技术中,通常是基于二叉堆实现,优先级高的信息先出队,以及优先级低的信息后出队的目的。其中,二叉堆可以容纳无限种优先级。但是,在利用二叉堆对信息进行入队和出队操作时时间复杂度较高。具体地,在二叉堆中执行出队操作时需要对二叉堆进行多次调整,以使最终调整后的二叉堆满足结构性和堆序性,进而使得出队或入队的时间复杂度为O(logN),导致信息的传输效率较低,进而影响处理效率。其中,N为二叉堆中的结点数量。
技术实现思路
本公开的目的是提供一种信息处理方法、装置、可读存储介质及电子设备,以提升信息处理效率。为了实现上述目的,本公开第一方面提供一种信息处理方法,包括:根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,其中,每一所述双向链表分别具有不同的优先级,所述双向链表中存储有具有对应优先级的元素;将所述目标元素从所属双向链表中移出,以对所述目标元素进行处理。可选地,所述方法还包括:确定与待入队元素的优先级对应的目标双向链表;将所述待入队元素插入至所述目标双向链表。可选地,所述将所述待入队元素插入至所述目标双向链表,包括:将所述待入队元素插入至所述目标双向链表的头指针的后一位。可选地,所述根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,包括:将当前优先级最高的非空双向链表中的当前末尾元素确定为所述目标元素。可选地,若一双向链表的当前末尾元素的前驱元素的地址不为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为非空双向链表;若一双向链表的当前末尾元素的前驱元素的地址为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为空双向链表。可选地,将头指针地址与栈顶指针的当前地址一致的双向链表确定为当前优先级最高的非空双向链表;在将所述目标元素从所属双向链表中移出之后,所述方法还包括:若所述目标元素所属双向链表当前为空双向链表,则将所述栈顶指针的当前地址更新为当前优先级最高的非空双向链表的头指针地址。可选地,每一所述双向链表的标识、头指针地址和末尾元素地址被关联存储在索引表中;在将所述目标元素从所属双向链表中移出之后,所述方法还包括:根据所述目标元素所属双向链表的当前末尾元素的地址更新所述索引表。本公开第二方面还提供一种信息处理装置,所述装置包括:第一确定模块,用于根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,其中,每一所述双向链表分别具有不同的优先级,所述双向链表中存储有具有对应优先级的元素;移出模块,用于将所述目标元素从所属双向链表中移出,以对所述目标元素进行处理。可选地,所述装置还包括:第一确定模块,用于确定与待入队元素的优先级对应的目标双向链表;插入模块,用于将所述待入队元素插入至所述目标双向链表。可选地,所述插入模块,用于将所述待入队元素插入至所述目标双向链表的头指针的后一位。可选地,所述第一确定模块,用于将当前优先级最高的非空双向链表中的当前末尾元素确定为所述目标元素。可选地,若一双向链表的当前末尾元素的前驱元素的地址不为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为非空双向链表;若一双向链表的当前末尾元素的前驱元素的地址为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为空双向链表。可选地,将头指针地址与栈顶指针的当前地址一致的双向链表确定为当前优先级最高的非空双向链表;所述装置还包括:第一更新模块,用于若所述目标元素所属双向链表当前为空双向链表,则将所述栈顶指针的当前地址更新为当前优先级最高的非空双向链表的头指针地址。可选地,每一所述双向链表的标识、头指针地址和末尾元素地址被关联存储在索引表中;所述装置还包括:第二更新模块,用于根据所述目标元素所属双向链表的当前末尾元素的地址更新所述索引表。本公开第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所提供的所述方法的步骤。本公开第四方面提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的所述方法的步骤。采用上述技术方案,根据各双向链表的优先级和双向链表的当前末尾元素,确定本次要移出的目标元素,之后,将该目标元素从其所属的双向链表中移出。如此,由于每一双向链表分别具有不同的优先级,并根据各双向链表和该双向链表的当前末尾元素,确定本次要移出的目标元素,所以,在移出元素之后无需对双向链表进行调整,因此,相较于相关技术中通过二叉堆实现优先队列功能,采用本公开提供的方法,可以极大地提升元素移出的效率,进而提升信息处理的效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1a~1e是根据一示例性实施例示出的一种基于二叉堆的元素出队示意图。图2a和2b是根据一示例性实施例示出的一种信息处理方法的实施场景示意图。图3是根据一示例性实施例示出的一种信息处理方法的流程图。图4是根据一示例性实施例示出的一种在初始化过程配置的双向链表的示意图。图5是根据一示例性实施例示出的一种信息处理方法中插入元素的方法的流程图。图6a和6b是根据一示例性实施例示出的一种在双向链表中插入元素的示意图。图7是根据另一示例性实施例示出的一种双向链表的示意图。图8是根据另一示例性实施例示出的一种双向链表的示意图。图9是根据另一示例性实施例示出的一种双向链表的示意图。图10是根据一示例性实施例示出的一种信息处理装置的框图。图11是根据一示例性实施例示出的一种电子设备的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。图1a~1e是根据一示例性实施例示出的一种基于二叉堆的元素出队示意图。图1a所示的二叉本文档来自技高网...
【技术保护点】
1.一种信息处理方法,其特征在于,所述方法包括:/n根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,其中,每一所述双向链表分别具有不同的优先级,所述双向链表中存储有具有对应优先级的元素;/n将所述目标元素从所属双向链表中移出,以对所述目标元素进行处理。/n
【技术特征摘要】
1.一种信息处理方法,其特征在于,所述方法包括:
根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,其中,每一所述双向链表分别具有不同的优先级,所述双向链表中存储有具有对应优先级的元素;
将所述目标元素从所属双向链表中移出,以对所述目标元素进行处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定与待入队元素的优先级对应的目标双向链表;
将所述待入队元素插入至所述目标双向链表。
3.根据权利要求2所述的方法,其特征在于,所述将所述待入队元素插入至所述目标双向链表,包括:
将所述待入队元素插入至所述目标双向链表的头指针的后一位。
4.根据权利要求1所述的方法,其特征在于,所述根据各双向链表的优先级和所述双向链表的当前末尾元素,确定本次要移出的目标元素,包括:
将当前优先级最高的非空双向链表中的当前末尾元素确定为所述目标元素。
5.根据权利要求4所述的方法,其特征在于,若一双向链表的当前末尾元素的前驱元素的地址不为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为非空双向链表;若一双向链表的当前末尾元素的前驱元素的地址为该双向链表的头指针地址,则移出该当前末尾元素之后的该双向链表为空双向链表。
6.根据权利要求4所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:李泰,黄治纲,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。