2014年考研数据结构辅导汇总12014年考研数据结构辅导(1)22014年考研数据结构辅导(2)32014年考研数据结构辅导(3)42014年考研数据结构辅导(4)52014年考研数据结构辅导(5)62014年考研数据结构辅导(6)72014年考研数据结构辅导(7)82014年考研数据结构辅导(8)92014年考研数据结构辅导(9)102014年考研数据结构辅导(10)112014年考研数据结构...
稀疏矩阵的两个算法:矩阵的转置:用了两个数组 num[ ],cpot[ ]num[i]表示第i 列有多少元素;cpot[i]表示第i 列的第一个元素转置后的位置。cpot[1]=1;cpot[col]=cpot[col-1]+num[col-1];status FastTrans(TSMatrix M,TSMatrix&T){ T.mu=M.nu;T.nu=M.mu;T.tu=M.tu; ...
快速排序中的分治区间的策略的应用实例下列程序段search(a,n,k)在数组a的前n(n>=1)个元素中找出第k(1<=k<=n)小的值。这里假设数组a中各元素的值都不相同。#define MAXN 100int a[MAXN],n,k;int search_c(int a[], int n, int k){int low, high, i, j, m, t; k--,;low...
关于广义表的一些递归算法1) 求广义表的深度(最大的嵌套的括号数) 空表的深度是1,原子的深度为0,用头尾链作为存储结构 int GlistDepth(Glist L) { if(!L) return 1; else if(L->tag=ATOM) return 0; else max=0; for(pp=L;PP!=null;pp=pp->ptr.tp) { dep=GlistDep...
广义表两种存储结构:1. 头尾链(常用)结点的定义:typedef enum{ATOM,LIST} ElemTag; typedef struct GLnodes{ Elemtag Tag; union{ AtomType atom; Struct {Struct GLnode* hp,*tp } Ptr; } }*GList;2. 扩展性链( 不常用)...
数组元素的地址计算例如: Loc(a00) = bLoc(ai0) = b+( ai0前元素个数)•L=b+(i•n)•LLoc(aij) = b+( aij前元素个数)•L= b+[i×n+j]×L有一个二维数组A[0:8,1:5],每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素A[0,1]的第一个字节的地址是100,存储数组...
空格串是指__由空格字符(ASCII值32)所组成的字符串,其长度等于 空格个数____。在模试匹配KMP算法中所用失败函数f的定义中,为何要求p1p2……pf(j)为p1p2……pj两头匹配的真子串?且为最大真子串? 失败函数(即next)的值只取决于模式串自身,若第j个字符与主串第i个字符失配时,主串不回溯, 模式串用第k(即next[j])个字符与第i个相比,有‘p1…pk-1’=‘pj-k...
三种特殊矩阵的压缩方法:(1)对称矩阵i,j从1开始,k从0开始(2)下(上)三角矩阵i,j从1开始,k从1开始(3)3带形矩阵i,j从1开始,k从1开始...
KMP算法和朴素的匹配算法的关键区别就是解决了主串指针i的回溯,原理如下设主串S[]和模式串T[],如比较到模式串的第j个字符。 当主串指针i和模式串指针j比较时 ,说明他们前面的所有字符都已经对应相等了。而Next[j]=k的定义是T1T2…Tk-1==Tj-k+1Tj-k+2….Tj-1且k是最大了,没有更长的了。所以Si和Tj比较失败时Si和Tk去比较。不可能有 这种匹配的成功,因为S2S3...
用两个栈来模拟一个队列栈的特点是后进先出,队列的特点是先进先出。所以,用两个栈s1和s2模拟一个队列时,s1作输入栈,逐个元素压栈,以此模拟队列元素的入队。当需要出队时,将栈s1退栈并逐个压入栈s2中,s1中最先入栈的元素,在s2中处于栈顶。s2退栈,相当于队列的出队,实现了先进先出。显然,只有栈s2为空且s1也为空,才算是队列空。...