南京师范大学2003-2011地理信息系统考研专业一试题(9)
本站小编 免费考研网/2015-08-16
for(j=0;j<5;j++)
if(((p+5*i+j)!=p) && ((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=(p+20)) && (*pmin>*(p+5*i+j)))
pmin = p+5*i+j;
temp = *pmin; //将第四个最小值换给右下角元素
*pmin = *(p+24);
*(p+24) = temp;
}
(5)设A是有n个元素的整形数组(n>=1),试写一个求A中n个整数的平均值的递归程序。
(本题20分)
参考解法:
#include<stdio.h>
float f(int a[],int n)
{
float avg;
if(n==1) avg=a[0];
else
{
avg = (a[n-1] + f(a,n-1)*(n-1))/n;
}
return avg;
}
void main()
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
int sum;
float avg;
avg = f(a,10);
printf("The avg = %f\n",avg);
}
(6)假设由终端输入集合元素,先建立表示集合X的静态链表P1,而后在输入集合Y的元素的
同时查找P1表,若存在和Y和相同的元素,则从表P1表中删除之,否则将此元素插入P1.
(本题20分)
参考解法:
//题目在清华大学出版社 严蔚敏《数据结构(C语言版)》课本33页
#define MAXSIZE 1000
typdef char ElemType;
typedef struct
{
ElemType data;
int cur;
}component,SLinkList[MAXSIZE];
//①将整个数组空间初始化成一个链表;
void InitSpace_SL(SLinkList space)
{
int i;
for(i=0;i<MAXSIZE;i++)
space[i].cur = i+1;
space[MAXSIZE-1].cur = 0;
}
//②从备用空间取得一个结点;
int Malloc_SL(SLinkList &space)
{
int i;
i = space[0].cur;
if(space[0].cur) space[0].cur = space[i].cur;
return i;
}
//③将空闲结点链结到链表上。
void Free_SL(SLinkList space,int k)
{
space[k].cur = space[0].cur;
space[0].cur = k;
}
void difference(SLinkList space,int &S)
{
int i,j,k,r,m,n,p;
char b;
InitSpace_SL(space);
S = Malloc_SL(space);
r = S;
scanf("%d%d",&m,&n);
for(j=1;j<=m;j++)
{
i = Malloc_SL(space);
scanf("%c",&space[i].data);
space[r].cur = i;
r = i;
}//for
space[r].cur = 0;
for(j=1;j<=n;j++)
{
scanf("%c",&b);
p = S;
k = space[S].cur;
while(k!=space[r].cur && space[k].data!=b)
{
p = k;
k = space[k].cur;
}//while
if(k == space[r].cur)
{
i = Malloc_SL(space);
space[i].data = b;
space[i].cur = space[r].cur;
space[r].cur = i;
}//if
else
{
space[p].cur = space[k].cur;
Free_SL(space,k);
if(r==k)
r = p;
}//else
}//for
}//difference
(7)请写出用二叉树计算英文文献中单词使用频度的算法。(本题20分)
该单词的使用次数
单词的使用频度 = -------------
文献中单词的总数
参考解法:
#include<stdio.h>
typedef struct BiNode
{
char *data;
int count;
struct BiNode *lchild,*rchild;
}BiNode;
int sum(BiNode *b) //返回二叉树单词的总数
{
if(b==NULL) return 0;
if((b->lchild==NULL)&&(b->rchild==NULL))
return b->count;
else
{
return ((b->count)+sum(b->lchild)+sum(b->rchild));
}
}
void frequence(BiNode *b,int n)
{
if(b!=NULL)
{
frequence(b->lchild,n);
printf("Word:%s,Frequence:%f\n",b->data,1.0*b->count/n);
frequence(b->rchild,n);
}
}
void func(BiNode *b)
{
int n;
n = sum(b);
frequence(b,n);
}
(8)请写出下图所代表的树向二叉数转换的算法,并用中序遍历给出转换后二叉树的节点
序列和树的深度。(本题20分)
A(B(E,F(K,L)),C(G,H(M,N),I),D(J))
中序遍历:EKLFBGMNHICJDA
深度:7
#include<stdio.h>
#include<stdlib.h>
#define MAX_TREE_SIZE 100
typedef struct CTNode
{
int child;
struct CTNode *next;
}CTNode,*ChildPtr;
typedef struct
{
char data;
ChildPtr firstchild;
}CTBox;
typedef struct
{
CTBox nodes[MAX_TREE_SIZE];
int n,r;
}CTree;
typedef struct CSNode
{
char data;
struct CSNode *firstchild,*nextsibling;
}CSNode,*CSTree;
void Convert(CTBox nodes[],int r,CSTree &root) //由孩子表示法存储的树向二叉树转换
{
CTNode *ctn;
CSNode *p;
if(r==-1) root = NULL;
else
{
root = (CSNode *)malloc(sizeof(CSNode));
root->data = nodes[r].data;
root->firstchild = NULL;
root->nextsibling = NULL;
if(nodes[r].firstchild) //判断root结点是否存在第一个孩子
{
ctn = nodes[r].firstchild; //处理root结点的第一个孩子
r = ctn->child;
Convert(nodes,r,root->firstchild);
ctn = ctn->next; //处理root结点的其它孩子
p = root->firstchild;
while(ctn)
{
r = ctn->child;
相关话题/地理
2001-2008年西南大学人文地理学考研真题
2001年人文地理学 一、 名词解释(15) 1、中东 2、地理大发现 3、大洋洲 4、尼罗河 5、巴黎盆地 二、 简述题(20) 1、世界地理环境结构的地域分异规律 2、战后科技革命对世界经济发展和产业分布的影响 三、 填图题(图) 在图上填出(15) 1、统一后的德国国界和国名(1) ...专业课考研资料 本站小编 免费考研网 2015-08-09华南师范大学人文地理学2002-2011历年考研真题(附答案)
华南师范 大学 2011 硕士 研究生招生入学考试试卷 人文地理学 一、名词解释(每题 5 分,共 30 分) 1、因子生态分析法 2、容积率和建筑密度 3、城市发展的经济基础原理 4、产业集群 5、集聚与扩散 6、旅游规划 二、简答题(70 分) 1、请简述我国的区域空间规划体系。(15 分) ...专业课考研资料 本站小编 免费考研网 2015-07-22湖南师范大学经济地理学复试资料(整合)
第一章 绪论 何谓经济地理学? 答:经济地理学是研究经济活动区位、空间组织及其地理环境相关系的学科。 试述经济地理学的研究对象。 答:经济地理学的研究对象包括:经济活动的内容、区位、空间 ...专业课考研资料 本站小编 免费考研网 2015-07-222013年兰州大学818现代地理学(含自然地理学、经济地理学)+考研试题(回忆版)
2013年兰州大学818现代地理学(现代地理学(含自然地理学、含自然地理学、经济 地理学) 地理学) 考研试题) 考研试题(考研试题(回忆版)回忆版) 一、名词解释(每题6分) 1、不整合 2、干洁空气 3、锋 4、雪线 5、黄土 6、土壤质地 7、生态系统 8、隐域性 二、简答题(每题8分) 1、岩石的结构与构造 2、沉积岩的基本 ...专业课考研资料 本站小编 网络资源 2015-07-16人文地理学 赵荣等 高等教育出版社(答案)
第一章 绪论 1、 人文地理学在地理学中的地位和作用。 人文地理学是以人地关系的理论为基础,探讨各种人文现象的地理分布、扩散和变化,以及人类社会活动的地域结构的形成和发展规律的一门学科。又称人生地理学。它是地理学的两个主要分支学科之一,人文二字与自然地理学的自然二字相对应 ...专业课考研资料 本站小编 免费考研网 2015-07-16西北大学2015中国历史地理学考题
西北大学2015中国历史地理学考题 一、名词解释 沿革地理学 地理环境决定论 新秦中 陈桥驿 统万城 关西和关东 二、简答题 1、简述中国历史时期人口变化特点及其影响。 2、简述毛乌素沙漠的形成原因。 3、简述中国历史上东西对峙的原因。 三、论述题 1、论述中国历史时期气候变迁及其影响。 2、论述安阳成为中国七大古都 ...专业课考研资料 本站小编 网络资源 2015-07-15西北师范大学2011年,2012年自然地理试题
2010 一名词解释 1沉积建造 2米兰科维奇理论 3水分循环 4土壤肥力 5趋同适应 6洪积扇 7正断层 8海陆风 二简答题 1分析气候与生物对土壤形成的作用与影响 2简要分析我国西北干旱气候的形成原因. 3分析对比准平原和山麓面的形成过程. 4简述农业生态系统的特点. 5简述冰川对地理环境的影响 6简要分析地球自转的 ...专业课考研资料 本站小编 免费考研网 2015-07-01中科院寒旱所2007-1997硕士入学考试真题 [自然地理]
自然地理学 1997年硕士研究生入学考试题 一、名词解释 1、沉积相与沉积韵律 2、气旋与反气旋 3、土壤与土地 4、径流系数与径流模数(写出单位) 5、生物群落与生态系统 二、回答问题 1、 季风环流是怎样形成的?简述热带季风气候、副热带季风气候和温带季风气候各自发育的区域和气候特点。(13分) 2、 自然带在空间 ...专业课考研资料 本站小编 免费考研网 2015-07-01中科院寒旱所2006自然地理学考博试题答案
自然地理学 一、名词解释 1、季风 2、水循环 3、大气环流 4、洋流 5、生态系统 季风:大陆和海洋间的广大地区,以一年为周期、随着季节变化而方向相反的风系,称为季风。季风是海陆间季风环流的简称,它是由大尺度的海洋和大陆间的热力差异形成的大范围热力环流。夏季由海洋吹向大陆的风称为夏季风;冬季由大陆吹向海洋的 ...考博 本站小编 免费考研网 2015-07-01中科院寒旱所考博地理名词解释(答案整理)
名词解释: 1、季风(monsoon):是由于大陆及邻近海洋之间存在的温度差异而形成大范围盛行的、风向随季节有显著变化的风系,具有这种大气环流特征的风称为季风。 大陆和海洋间的广大地区,以一年为周期、随着季节变化而方向相反的风系,称为季风。季风是海陆间季风环流的简称,它是由大尺度的海洋和大陆间的热力差异形成 ...考博 本站小编 免费考研网 2015-07-01
