预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共124页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构(shùjùjiéɡòu)回顾数据的逻辑(luójí)结构数据的存储(cúnchǔ)结构选择数据的逻辑(luójí)结构的基本原则选择逻辑结构的因素1:充分利用“可直接使用(shǐyòng)”的信息例如n=5、m=3时,依次(yīcì)列出“处死5人”的操作:普通(pǔtōng)解法——线性表“查找”法②、用链式存储结构(jiégòu)实现改进解法——“直接(zhíjiē)定位法”总体思想(sīxiǎng):在较好地实现“直接定位”的基础上,尽量避免大量元素移动选择逻辑结构的因素2:不记录“无用(wúyònɡ)”信息完成以下(yǐxià)两步操作⑴、采用(cǎiyòng)二叉树结构树中的每个点赋予一定的权值,表示该点对应的子串在文件中出现的频率,那么我们可以得到一些累加规律,例如(lìrú)当A=1,B=3时,某个中间状态对应的二叉树统计(tǒngjì)所有子串的频率数据结构(shùjùjiéɡòu)输入(shūrù)数据,建立空树读入数据(shùjù),建立二叉树读入数据,计算(jìsuàn)各子串频率从floor层的p顶点(dǐngdiǎn)出发,计算子串频率降序的排列t从floor层的p顶点(对应字串为ss)出发,输出长度(chángdù)为where、权值为t[which]的所有子串按要求输出(shūchū)结果主程序⑵、采用(cǎiyòng)矩阵结构数据结构(shùjùjiéɡòu)读入信息(xìnxī)、构造二维数组使用(shǐyòng)插入排序法计算子串频率降序的排列按要求输出(shūchū)结果主程序两种数据结构(shùjùjiéɡòu)比较选择数据的存储结构(jiégòu)的基本方法重点(zhòngdiǎn)讨论数据的线性存储结构记录(jìlù)一个n×n的矩阵,矩阵中包含的非0元素为m个(m≤n2)。合理采用(cǎiyòng)顺序存储结构基本思路用链表can存储(cúnchǔ)空地建立一条探索链表uk,将旅行者从解集中的空地(相对位置(0,0))出发、经过路径上所有观察到的相对位置和观察方向依次(yīcì)存入这条链表算法(suànfǎ)流程为什么要按照∣d1-d2∣最小的要求删除链表can中不属于初始位置(wèizhi)的空地?数据结构(shùjùjiéɡòu)主程序readp过程(guòchéng):读入城市地图a对(xx,yy)的相邻(xiānɡlín)格进行探索Getready:探索(tànsuǒ)前的准备工作Change:从uk链中删除已确定状态的相对(xiāngduì)位置find:寻找对运气的依赖度最小的相对位置(wèizhi)(xx,yy),并将其从uk链表中删除Path:使用宽度优先搜索方法寻找(x2,y2)至(x1,y1)的移动和探索方案(fāngàn),并将can链中不符探索结果的顶点删除几种常用(chánɡyònɡ)数据结构的一般特点科学(kēxué)组合多种数据结构数据结构(shùjùjiéɡòu)的“并联”4把删边的顺序倒过来,问题转化为从一个无边的图不断添边,求每个点进入(jìnrù)编号为1的点所在的连通分量的时间用并查集维护(wéihù)数据结构(shùjùjiéɡòu)数据结构并联(bìnglián)方式的利弊Dijkstra算法的执行速度取决于优先(yōuxiān)队列的数据结构数据结构(shùjùjiéɡòu)读入信息(xìnxī)堆操作(cāozuò)在各种数据结构(shùjùjiéɡòu)优劣难辩、难以取舍时,选择和使用多种数据结构(shùjùjiéɡòu)的方法,用映射来“并联”各数据结构(shùjùjiéɡòu)数据结构(shùjùjiéɡòu)的“嵌套”数据结构(shùjùjiéɡòu)⑴建立(jiànlì)线段树T(a,b)⑵将区间(qūjiān)[c,d]插入线段树T(a,b)⑶将区间[c,d]从线段(xiànduàn)树T(a,b)中删除⑷线段树的动态(dòngtài)维护数据结构(shùjùjiéɡòu)以t顶点为基准(jīzhǔn)左旋以t顶点(dǐngdiǎn)为基准右旋将正整数v插入(chārù)以t为根的平衡树中,并返回v的顶点序号在以t为根的平衡(pínghéng)树中删除正整数v被“嵌套”的两个简单(jiǎndān)问题“嵌套树”改值操作(cāozuò)C(i,j)询问(xúnwèn)操作Q(i,j,k)数据结构(shùjùjiéɡòu)在以顶点i为根(对应区间(qūjiān)为[s,t])的线段树中插入第l个正整数x输入正整数序列(xùliè),构造线段树root和嵌套的平衡树tree将[s,t]中的第l个正整数值改为(ɡǎiwéi)x线段树中i顶点对应的区间为[s,t]。计算其子区间[x,y]中比(zhōnɡbǐ)d大的数字