文档详情

算法合集之《对块状链表的一点研究》.pptx

发布:2025-04-20约小于1千字共10页下载文档
文本预览下载声明

传统的FAT文件系统将磁盘空间分簇,并使用FAT表(FileAllocationTable)索引每一个簇。数据(文件)以簇链式结构储存。引子

对块状链表的一点研究山西大学附属中学苏煜2008年1月

NOI2003editor

01定位很快02插入删除慢,数据大会超时03插入删除很快04定位非常慢,数据大会超时链表模拟数组模拟

数据结构的结合整体使用链表单个节点使用小数组存储比较多的信息所谓的“块状”链表

基本操作分裂定位

Insert

Delete

及时合并小分块

分块大小的选择sqrt(n)与2×sqrt(n)之间。

NEERC2003,KeyInsertionN(1=N=131072)个士兵在进行队列训练,从左至右有M(1=M=131072)个位置。每次将军可以下达一个命令,表示为Goto(L,S)。若队列L位置上为空,那么士兵S站在L上。若队列L位置上有士兵K,那么士兵S站在L上,执行Goto(L+1,K)。将军对N个士兵依次下达N个命令,每个士兵被下达命令一次且仅一次。要你求出最后队列的状态。(有可能在命令执行过程中,士兵站的位置标号超过M,所以你最后首先要求出最终的队列长度。0表示空位置)。

其实就是把L之后的第一个空位置删掉,再在L处插入一个新元素。“正规”解法比较复杂,请参考05年龙凡的论文《序的应用》。用块状链表解法很简单

1在一个车间里有N(1=N=100000)个零件排成一列,它们的高度各不相同,现在要使用如下方法将它们按高度排序:2找到最低的零件的位置P1,将区间[1,P1]反转,再找到第二低的零件的位置P2,将区间[2,P2]反转……3要求你的程序输出P1,P2,P3…(有改动)CERC2007sort

用块状链表解法很简单MinimuminblockReverse

NOI2005维护序列01链式03平衡树05NOI2007项链工厂02环式04NOI2006生日快乐维护多种序列!06

总结1时间复杂度高代码较长空间利用率高直观维护多种序列优点:缺点:

块状链表的特点:总结2“弱弱结合”追求平衡整体处理

谢谢

显示全部
相似文档