2013吉林省数据要领基础
2013年吉林省行测资料分析高频考点之基期比重

2013年吉林省行测资料分析高频考点之基期比重我们在上一篇文章里面已经详细的讲解了末期比重,现在我们将重点讲解基期比重,这两个看似相同,但是两者之间存在本质的区别,一个计算的是末期,一个计算的是基期,其计算的时期是有所区别的,所以如果当把基期比重看作是末期比重的时候,最终得到的结果必然错误,当然了这个考点在2013年吉林省也经常出现,所以我们在解答这类试题的时候,一定要熟悉题型的本质,并掌握相应的解题方法。
基期比重,是资料分析试题里面有一定难度的试题,这类试题的计算量往往较大,涉及到的数据较多,一般会涉及到末期的部分、整体的值,以及部分整体的变化量,从而需要我们先求出基期部分或者整体的值,然后才能求基期比重,根据给出的变化量的不同,我们可以将基期比重类试题的出题形式分为以下几种形式:(一)给出的变化量是增加量,这时,我们就需要先通过加减运算计算出基期的值,然后根据比重=部分/整体来求解;【注意】我们在解答这类试题的时候,由于有一定的计算量,所以一般给出的选项的差距比较大,那么我们就可以直接采用放缩估算来解答。
(二)给出的变化量一个是增加量,一个是增速,那么此时,我们仍然需要先计算出基期值,然后根据公式计算,或者我们可以根据增加量估算出这个增速,然后根据第三种出题形式的试题解题方法来解答。
(三)给出的变化量是增速,这类试题是我们比较常见的试题,在解答此类试题的时候,一般先计算末期比重,然后根据增速来确定基期比重。
【真题示例】2012年末,全省机动车驾驶员数量为908.77万人,比上年增加121.47万人。
其中,汽车驾驶员数量为622.65万人,比上年增长20.5%。
89.2011年,汽车驾驶员数量占全省机动车驾驶员的比重为( )。
A.59.8%B.65.6%C.71.4%D.75.6%【答案】B【解析】本题考查的是比重这一知识点。
根据材料相关数据可知,2011年全省机动车驾驶员为908-121.47,汽车驾驶员数量为622.65/(1+20.5%),由于选项的差别比较大,所以计算比重的时候,可以进行粗略的估算。
吉林省1∶5万区域地质图空间数据库建设

我们 还利用 自编 软件对 空间库 的属性 、数 据 的套 合 、 C点 、投 影参数 等进行 了系统检 查 , TI
数据 的准确性 均满 足各 阶段精 度要求 。因此保 证 了空间数 据库 的质量 。
( 转第 7 ) 下 8页
维普资讯
7 8
f c or we a t s, us d ppr pra e e a o i t ma a e n me ns o e c e r t t ma m u n g me t a t r du e r or o he xi m t o
使 GI 速 响应 。如 果获取空 间数 据很 困难就不 可能进行 及时 的决策 ,或 者只能根 据 不完 S快
全 的空 间数据进 行决策 ,其结 果都 可能导致 G S不能得 出正 确的决 策结果 。 I 程 ,1: 万 区域地 质 图空 间数据库 建设 势在必 行 。 5 ’ 随着 G S技 术发 展 ,为适应 地理信息 数字化 的要求 ,G S的综 合利用 及数 字化 国土工 I I
用 中心线 跟踪 矢量 化 ,对 点 图元 采用 中心 坐标矢 量化 。在线 录人 时 ,水 系数 字化方 向从 上
游 到下 游 ,不 整合 界线沿 主线 录人 ,不整 合界线 的点 在 鼠标 前进方 向左侧 ,铁路 、双线 公
路沿 中线 。 对参 与整体 拓扑 的图层建 立综 合线 文件 , 与整体 拓扑 的 图层 有沉 积地层 图层 、 参 变 质岩 图层 、侵人 岩 图层 、地质 界线 、面 状水 系图层 。最后 对综合 线文 件进 行线拓 扑错 误
近 年来随着 信息数 字化技 术 的不断深入 和发 展 , 尤其是 地理 信息系 统 ( I ) 术 的迅 GS 技 速发展 ,为使 以往 1: 万 区域地质 调查 资料更好 的 为国土 资源合理 开发利 用服 务 , 信 息 5 将
2013吉林省学习数据库基础

1、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(入栈满等)给出相应的信息。
设有一个背包可以放入的物品重量为S,现有n件物品,重量分别为W1,W2,...,Wn。
问能否从这n件物品中选择若干件放入背包,使得放入的重量之和正好是S。
设布尔函数Knap(S,n)表示背包问题的解,Wi(i=1,2,...,n)均为正整数,并已顺序存储地在数组W中。
请在下列算法的下划线处填空,使其正确求解背包问题。
Knap(S,n)若S=0则Knap←true否则若(S<0)或(S>0且n<1)则Knap←false否则若Knap(1) , _=true则print(W[n]);Knap ←true否则 Knap←Knap(2) _ , _设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为多少?画出具体进栈、出栈过程。
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间。
例如:设str1和str2是分别指向两个单词的头结点,请设计一个尽可能的高效算法,找出两个单词共同后缀的起始位置,分析算法时间复杂度。
将n(n>1)个整数存放到一维数组R中。
设计一个尽可能高效(时间、空间)的算法,将R中保存的序列循环左移p(0<p<n)个位置,即将R中的数据(x0, x1, x2,…, xn-1),变换为(xp, xp+1, … , xn-1 ,x0 , x1,…, xp-1)。
2、在有向图G中,如果r到G中的每个结点都有路径可达,则称结点r为G的根结点。
编写一个算法完成下列功能:(1).建立有向图G的邻接表存储结构;(2).判断有向图G是否有根,若有,则打印出所有根结点的值。
2013吉林省数据库考试含答案基础

1、假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)。
(注:图中不存在顶点到自己的弧)有向图判断回路要比无向图复杂。
利用深度优先遍历,将顶点分成三类:未访问;已访问但其邻接点未访问完;已访问且其邻接点已访问完。
下面用0,1,2表示这三种状态。
前面已提到,若dfs(v)结束前出现顶点u到v的回边,则图中必有包含顶点v和u的回路。
对应程序中v的状态为1,而u是正访问的顶点,若我们找出u的下一邻接点的状态为1,就可以输出回路了。
void Print(int v,int start ) //输出从顶点start开始的回路。
{for(i=1;i<=n;i++)if(g[v][i]!=0 && visited[i]==1 ) //若存在边(v,i),且顶点i的状态为1。
{printf(“%d”,v);if(i==start) printf(“\n”); else Print(i,start);break;}//if}//Printvoid dfs(int v){visited[v]=1;for(j=1;j<=n;j++ )if (g[v][j]!=0) //存在边(v,j)if (visited[j]!=1) {if (!visited[j]) dfs(j); }//ifelse {cycle=1; Print(j,j);}visited[v]=2;}//dfsvoid find_cycle() //判断是否有回路,有则输出邻接矩阵。
visited数组为全局变量。
{for (i=1;i<=n;i++) visited[i]=0;for (i=1;i<=n;i++ ) if (!visited[i]) dfs(i);}//find_cycle2、设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。
2013吉林省数据结构基础必过技巧

1、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p2、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法3、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;4、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定5、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序6、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除7、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边8、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面9、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]10、采用链结构存储线性表时,其地址( B )。
B1_13吉林省统计年鉴2013

1-13 民营经济主要指标
2007 87.4 29.3 15.9 7.2 3.3 8.6 3.3 6 5.4 8.4 个体经营户数(万户) 2008 2009 2010 97.6 108.8 122.8 31.5 35.5 40.6 17.1 19.1 20.1 8.8 10.2 11 3.6 3.8 3.7 9.3 10.5 12.2 4 4.3 4.6 8.4 9.3 13.5 5.9 6.3 6.3 9.3 9.9 10.6 0.5
户数(万户)
民营经济增加值 民营经济增加值占 主营业务收入亿元 2012 2011 2012 2011 2012 6064.4 50.5 50.8 2493 3051 1867.3 41.5 41.9 403 659 1132.4 47.4 46.6 563 706 587.1 50.7 52.3 259 245 365.7 54.1 60.4 201 202 474.1 52.8 53.8 177 287 312.9 54.1 52.1 247 212 738.5 46 46 398 385 255.4 37.9 41.5 117 147 392.5 46.7 51.3 128 208 14.7 53.3 60.6
主营业务收入(亿元) “三上” 2008 2009 2010 2011 2012 2007 全 省 8135 10269 13956 18860 23012 5302 长 春 3605 4525 6031 7716 9148 1499 吉 林 1461 1831 2447 3326 4061 866 四 平 574 735 1030 1428 1735 456 辽 源 302 381 525 837 1107 328 通 化 57山 299 390 567 832 1033 319 松 原 488 630 884 1280 1569 379 白 城 261 335 480 661 818 229 延 边 565 704 951 1303 1619 682 长白山管委会 20 25 31 注:2011年“三上”企业中,规上工业统计口径从年主营业务收入500万元提高到2000万元,因此2011年 地区 2007 6091 2913 1030 397 219 410 221 294 190 417
2013年吉林省行测资料分析高频考点之末期比重

2013年吉林省行测资料分析高频考点之末期比重2013年吉林省的公务员考试在9月份就要举行了,相信大家对于资料分析或者其他部分的复习已经告一段落,那接下来的这段时间,我们的复习就要有针对性了,所谓针对性就是针对行测的出题规律,以及高频考点来总结复习,所谓高频考点,就是我们在做题的时候遇到的考点,比如说增长率,比如说基期,在此,我们将重点讲解末期比重这个知识点。
在资料分析里面,末期比重类试题最基本的出题类型就是给出了部分和整体的具体值,然后让我们求部分所占的比重,但是在近几年,随着试题难度的增大,这类试题逐渐出现了变形,就是在试题里面并没有明确的给出部分或者整体的具体值,需要我们经过一定的计算,这样才能得到最终的结果,这类变形,在近几年出现的概率变大。
比如说,已知2012年东北三省的地区生产总值是A亿元,其中,黑龙江省的地区生产总值达到了B亿元,比吉林省多C亿元,那么在2010年吉林省地区生产总值占东北三省的比重约为多少?在这个试题里面,我们就要先求出吉林省在2012年的地区生产总值(B-C亿元),也就是先要求出部分的具体值,然后才能根据公式来计算比重值。
【真题示例】2011年某省广电产业实际创收收入达192.98亿元,同比增长32.33%。
从层级分析:省级收入100.64亿元,同比增长54.07%。
地市级收入47.36亿元,同比增长13.82%;县级收入44.98亿元,同比增长15.63%。
从区域分析:省以下实际创收92.34亿元,其中南部地区占60.63%,中部地区占22.66%,北部地区占16.71%。
创收过亿元的县达13个,其中南部8个,中部5个,13县共创收24.77亿元。
104.2011年该省创收过亿元的县创收合计全省县级总创收的比重约为()。
A.13%B.27%C.41%D.55%【答案】D【解析】本题考查的是比重这一知识点。
根据材料相关数据可知,2011年该省创收过亿元的县创收合计全省县级总创收的比重为24.77/44.98,很明显该值大于50%,结合选项,选择D选项。
2015年吉林省数据库入门摘要

1、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件放入背包(这时背包可放入物品的重量变为s-w[n])。
若第n件物品不能放入背包,则考虑从n-1件物品选若干件放入背包(这时背包可放入物品仍为s)。
若最终s=0,则有一解;否则,若s<0或虽然s>0但物品数n<1,则无解。
(1)s-w[n],n-1 //Knap(s-w[n],n-1)=true(2)s,n-1 // Knap←Knap(s,n-1)2、给出折半查找的递归算法,并给出算法时间复杂度性分析。
3、设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。
4、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
int Similar(BiTree p,q) //判断二叉树p和q是否相似{if(p==null && q==null) return (1);else if(!p && q || p && !q) return (0);else return(Similar(p->lchild,q->lchild) && Similar(p->rchild,q->rchild)) }//结束Similar5、#define maxsize 栈空间容量void InOutS(int s[maxsize])//s是元素为整数的栈,本算法进行入栈和退栈操作。
{int top=0; //top为栈顶指针,定义top=0时为栈空。
for(i=1; i<=n; i++) //n个整数序列作处理。
{scanf(“%d”,&x); //从键盘读入整数序列。
if(x!=-1) // 读入的整数不等于-1时入栈。
if(top==maxsize-1){printf(“栈满\n”);exit(0);}else s[++top]=x; //x入栈。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元素个数相等,按平均值排列与按每行元素之和排列是一个意思。
所以应先求出各行元素之和,放入一维数组中,然后选择一种排序方法,对该数组进行排序,注意在排序时若有元素移动,则与之相应的行中各元素也必须做相应变动。
void Translation(float *matrix,int n)//本算法对n×n的矩阵matrix,通过行变换,使其各行元素的平均值按递增排列。
{int i,j,k,l;float sum,min; //sum暂存各行元素之和float *p, *pi, *pk;for(i=0; i<n; i++){sum=0.0; pk=matrix+i*n; //pk指向矩阵各行第1个元素.for (j=0; j<n; j++){sum+=*(pk); pk++;} //求一行元素之和.*(p+i)=sum; //将一行元素之和存入一维数组.}//for ifor(i=0; i<n-1; i++) //用选择法对数组p进行排序{min=*(p+i); k=i; //初始设第i行元素之和最小.for(j=i+1;j<n;j++) if(p[j]<min) {k=j; min=p[j];} //记新的最小值及行号.if(i!=k) //若最小行不是当前行,要进行交换(行元素及行元素之和){pk=matrix+n*k; //pk指向第k行第1个元素.pi=matrix+n*i; //pi指向第i行第1个元素.for(j=0;j<n;j++) //交换两行中对应元素.{sum=*(pk+j); *(pk+j)=*(pi+j); *(pi+j)=sum;}sum=p[i]; p[i]=p[k]; p[k]=sum; //交换一维数组中元素之和.}//if}//for ifree(p); //释放p数组.}// Translation[算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(移动)较少.若用其它排序方法,虽可减少比较次数,但数据移动会增多.算法时间复杂度为O(n2).2、将顶点放在两个集合V1和V2。
对每个顶点,检查其和邻接点是否在同一个集合中,如是,则为非二部图。
为此,用整数1和2表示两个集合。
再用一队列结构存放图中访问的顶点。
int BPGraph (AdjMatrix g)//判断以邻接矩阵表示的图g是否是二部图。
{int s[]; //顶点向量,元素值表示其属于那个集合(值1和2表示两个集合)int Q[];//Q为队列,元素为图的顶点,这里设顶点信息就是顶点编号。
int f=0,r,visited[]; //f和r分别是队列的头尾指针,visited[]是访问数组for (i=1;i<=n;i++) {visited[i]=0;s[i]=0;} //初始化,各顶点未确定属于那个集合Q[1]=1; r=1; s[1]=1;//顶点1放入集合S1while(f<r){v=Q[++f]; if (s[v]==1) jh=2; else jh=1;//准备v的邻接点的集合号if (!visited[v]){visited[v]=1; //确保对每一个顶点,都要检查与其邻接点不应在一个集合中for (j=1,j<=n;j++)if (g[v][j]==1){if (!s[j]) {s[j]=jh; Q[++r]=j;} //邻接点入队列else if (s[j]==s[v]) return(0);} //非二部图}//if (!visited[v])}//whilereturn(1); }//是二部图[算法讨论] 题目给的是连通无向图,若非连通,则算法要修改。
3、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。
假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
#include <stdio.h>typedef char datatype;typedef struct node{datatype data;struct node * next;} listnode;typedef listnode* linklist;/*--------------------------------------------*//* 删除单链表中重复的结点 *//*--------------------------------------------*/linklist deletelist(linklist head){ listnode *p,*s,*q;p=head->next;while(p){s=p;q=p->next;while(q)if(q->data==p->data){s->next=q->next;free(q);q=s->next;}else{ s=q; /*找与P结点值相同的结点*/q=q->next;}p=p->next;}return head;}4、冒泡排序算法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)请给出上浮和下沉过程交替的冒泡排序算法。
48.有n个记录存储在带头结点的双向链表中,现用双向起泡排序法对其按上升序进行排序,请写出这种排序的算法。
(注:双向起泡排序即相邻两趟排序向相反方向起泡)5、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元素个数相等,按平均值排列与按每行元素之和排列是一个意思。
所以应先求出各行元素之和,放入一维数组中,然后选择一种排序方法,对该数组进行排序,注意在排序时若有元素移动,则与之相应的行中各元素也必须做相应变动。
void Translation(float *matrix,int n)//本算法对n×n的矩阵matrix,通过行变换,使其各行元素的平均值按递增排列。
{int i,j,k,l;float sum,min; //sum暂存各行元素之和float *p, *pi, *pk;for(i=0; i<n; i++){sum=0.0; pk=matrix+i*n; //pk指向矩阵各行第1个元素.for (j=0; j<n; j++){sum+=*(pk); pk++;} //求一行元素之和.*(p+i)=sum; //将一行元素之和存入一维数组.}//for ifor(i=0; i<n-1; i++) //用选择法对数组p进行排序{min=*(p+i); k=i; //初始设第i行元素之和最小.for(j=i+1;j<n;j++) if(p[j]<min) {k=j; min=p[j];} //记新的最小值及行号.if(i!=k) //若最小行不是当前行,要进行交换(行元素及行元素之和){pk=matrix+n*k; //pk指向第k行第1个元素.pi=matrix+n*i; //pi指向第i行第1个元素.for(j=0;j<n;j++) //交换两行中对应元素.{sum=*(pk+j); *(pk+j)=*(pi+j); *(pi+j)=sum;}sum=p[i]; p[i]=p[k]; p[k]=sum; //交换一维数组中元素之和.}//if}//for ifree(p); //释放p数组.}// Translation[算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(移动)较少.若用其它排序方法,虽可减少比较次数,但数据移动会增多.算法时间复杂度为O(n2).6、二路插入排序是将待排关键字序列r[1..n]中关键字分二路分别按序插入到辅助向量d[1..n]前半部和后半部(注:向量d可视为循环表),其原则为,先将r[l]赋给d[1],再从r[2] 记录开始分二路插入。
编写实现二路插入排序算法。
7、后序遍历最后访问根结点,即在递归算法中,根是压在栈底的。
采用后序非递归算法,栈中存放二叉树结点的指针,当访问到某结点时,栈中所有元素均为该结点的祖先。
本题要找p和q 的最近共同祖先结点r ,不失一般性,设p在q的左边。
后序遍历必然先遍历到结点p,栈中元素均为p的祖先。
将栈拷入另一辅助栈中。
再继续遍历到结点q时,将栈中元素从栈顶开始逐个到辅助栈中去匹配,第一个匹配(即相等)的元素就是结点p 和q的最近公共祖先。
typedef struct{BiTree t;int tag;//tag=0 表示结点的左子女已被访问,tag=1表示结点的右子女已被访问}stack;stack s[],s1[];//栈,容量够大BiTree Ancestor(BiTree ROOT,p,q,r)//求二叉树上结点p和q的最近的共同祖先结点r。
{top=0; bt=ROOT;while(bt!=null ||top>0){while(bt!=null && bt!=p && bt!=q) //结点入栈{s[++top].t=bt; s[top].tag=0; bt=bt->lchild;} //沿左分枝向下if(bt==p) //不失一般性,假定p在q的左侧,遇结点p时,栈中元素均为p的祖先结点{for(i=1;i<=top;i++) s1[i]=s[i]; top1=top; }//将栈s的元素转入辅助栈s1 保存if(bt==q) //找到q 结点。
for(i=top;i>0;i--)//;将栈中元素的树结点到s1去匹配{pp=s[i].t;for (j=top1;j>0;j--)if(s1[j].t==pp) {printf(“p 和q的最近共同的祖先已找到”);return (pp);}}while(top!=0 && s[top].tag==1) top--; //退栈if (top!=0){s[top].tag=1;bt=s[top].t->rchild;} //沿右分枝向下遍历}//结束while(bt!=null ||top>0)return(null);//q、p无公共祖先}//结束Ancestor8、假设K1,…,Kn是n个关键词,试解答:试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2,…,Kn 时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。