当前位置:文档之家› 西安理工大学《数据结构》链表合并

西安理工大学《数据结构》链表合并

西安理工大学《数据结构》链表合并
西安理工大学《数据结构》链表合并

数据结构

课程设计报告设计题目:链表合并

学院经济与管理学院

专业信息管理与信息系统

班级信管131

学号

姓名

2015秋季学期

报告格式按以下标题及内容书写,标题为小四号宋体,正文内容为五号字,16开打印。

一、问题描述

实现两个链表的合并

二、基本要求

1) 建立两个链表A和B,链表元素个数分别为m和n个;

2) 假设元素分别为(x1,x2,…xm),和(y1,y2, …yn);

3)把它们合并成一个顺序表C,使得:当m>=n时,C=x1,y1,x2,y2,...xn,yn, (x)

当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn

4)输出顺序表C

5) 用直接插入排序法对顺序表C进行升序排序,生成链表D,并输出链表D。

6)能删除链表D中指定位置和指定值的元素。

三、算法思想

首先我们需要建立两个链表A,B,A链表的元素个数为m;B链表的元素个数为n;在将A,B链表进行合并,根据m和n的大小关系决定链表C的元素顺序(当m>=n 时,应该先插入A表中的数据元素,在偶数位插入A表中的数据元素,在奇数位插入B表中的数据元素,最后在插入A表中剩余的数据元素;当m

四、数据结构

数据结构定义如下:

struct Node

{

long int number;

struct Node *next;

};

五、模块划分

(1) 结构体struct Node的创建。

(2) struct Node *create()链表的创建。

(3) void print(struct Node *head)功能是对链表进行输出。

(4) struct Node * inter_link(struct Node * chain1, int a, struct Node * chain2, in t b)

算法的功能是实现两个链表的交叉合并,并且可以根据两链表的长短将行不通的插入。

(5) void InsertSort(struct Node *p,int m)算法的功能是对一合并好的链表进行升序插入排序。

(6) main()函数主要是对算法进行测试。

六、源程序

#include

#include

#include

#include

#define L sizeof(struct Node)

struct Node //结构体

{

long int number;

struct Node *next;

};

struct Node *create(int a)//链表创建函数

{

int n;

struct Node *p1, *p2, *head;

head = NULL;

n = 0;

p2 = p1 = (struct Node *) malloc(L); //分配内存 scanf("%ld", &p1->number);

while (a)//录入链表信息

{

n = n + 1;

if (n == 1)

head = p1;

else

p2->next = p1;

p2 = p1;

p1 = (struct Node *) malloc(L);

if (a != 1)//分配内存

scanf("%ld", &p1->number);

a--; //控制输入的个数

}

p2->next = NULL;

return (head);

}//链表创建函数结束

void print(struct Node *head)//输出函数

{

struct Node *p;

p = head;

printf("数字:\n");

if (head != NULL)

do//循环实现输出

{

printf("%ld", p->number);

printf(" ");

p = p->next;

} while (p != NULL);

printf("\n");

}

//链表的交叉合并算法

struct Node * inter_link(struct Node * chain1, int a, struct Node * chain2, int b) { int temp;

struct Node *head, *p1, *p2, *pos;

/*判断a,b大小并合并*/

if (a >= b) {

head = p1 = chain1;

p2 = chain2;

} else/*b>a*/ {

head = p1 = chain2;

p2 = chain1;

temp = a, a = b, b = temp; /*交换a和b*/

}

/*下面把p1的每个元素插在p2相应元素之前,p1长a,p2长b*/ pos = head; /*此时pos指向p1中的第一个元素*/

while (p2 != NULL) {//漂亮,蛇形插入

p1 = p1->next;

pos->next = p2;

pos = p2;

p2 = p2->next;

pos->next = p1;

pos = p1;

}

return head;

}

//对合并好的链表进行排序

void InsertSort(struct Node *p, int m)//排序函数

{

int i, j, t;

struct Node *k;

k = p;

for (i = 0; i < m - 1; i++) {

for (j = 0; j < m - i - 1; j++) {

if (p->number > (p->next)->number) {

t = p->number;

p->number = (p->next)->number;

(p->next)->number = t;

}

p = p->next;

}

p = k;

}

}

struct Node * delete_link(struct Node *p,int i) //按位删除{ struct Node *q;

int j=0;

while(jnext)

{ p=p->next;

j++;

}

if(j==i-1&&p->next)

{

q=p->next;

p->next=q->next;

free(q);

}

else return error;

}

struct Node * delete_linkz(struct Node *p,int i)//按值删除

{ struct Node *q;

struct Node *k;

int j=0;

int h=0;

while(p&&p->number!=i)

p=p->next;

j++;

if (p)

{

while (hnext){

p=p->next;

h++;

}

if(h==j-1&&p->next){

k=p->next;

p->next=k->next;

free(k);

}

}

else

return error;

}

//主函数

int main()//main函数

{

struct Node *p1, *p2;

int a;

int b;

int h;

printf("请输入第一个链表:\n");

printf("\n输入链表的长度a:\n");

scanf("%d", &a);

printf("请输入链表数据:");

p1 = create(a);

printf("\n你刚才输入的第一个链表信息:\n "); print(p1);

printf("\n 请输入第二个链表:\n");

printf("\n输入链表的长度b:\n");

scanf("%d", &b);

printf("请输入链表数据:");

p2 = create(b);

printf("\n你刚才输入的第二个链表的信息:\n"); print(p2);

p1 = inter_link(p1, a, p2, b);

h = a + b;

printf("\n合并后的链表\n:");

print(p1);

InsertSort(p1, h);

printf("\n排序后的链表:\n");

print(p1);

return 0;

}

七、测试数据

(1)A表(30,41,15,12,56,80)

B表(23,56,78,23,12,33,79,90,55)(2)A表(30,41,15,12,56,80,23,12,34)B表(23,56,78,23,12)

八、运行及测试情况

程序运行结果和人工模拟分析过程完全相同,说明程序设计正确。

西安理工大学水利水电学院专业介绍

水利水电学院是原电力部与机械部联合办学的专业学院,是我国西北地区的水利水电教育中心、科学研究中心之一,距今已有近七十年办学历史。多年来已为全国及西北地区培养出水利水电建设人才2万余人。 学院目前设有11个本科专业,其中水利水电工程专业、热能与动力工程专业为陕西省名牌专业。学院是国务院学位委员会公布的首批博士学位授予单位,现有水利工程一级学科博士学位授予权,是目前西北地区唯一设有水利工程、土木工程2个博士后流动站的单位,10个学科具有博士学位授予权,17个学科具有硕士学位授予权,其中水文学及水资源学科为国家重点学科。学院同时在水利工程、建筑土木工程和电气工程领域具有工程硕士学位授予权。 水利水电工程专业 培养目标:水利水电工程专业为陕西省名牌专业,主要培养从事水利水电工程规划、设计、研究、施工与管理的高级工程技术人才。 主要课程:理论力学、材料力学、结构力学、水力学、土力学、工程测量学、工程地质、工程水文学、建筑材料、钢筋混凝土结构、水利水能规划、水利工程施工、建设项目管理、水工建筑物、水电站等。 就业方向:主要面向水利电力行业的企事业单位和科研、设计单位就业,从事水利电力工程的规划、设计、施工、研究与管理工作。 热能与动力工程专业 培养目标:本专业培养从事电厂机电设备及其控制装置的设计、安装、运行及管理的高级工程技术人才。 主要课程:机械设计基础、工程热力学、传热学、电路、电机学、电子技术基础、微机原理及应用、自动控制原理、流体机械、发电厂电气设备、发电厂辅助设备、发电机组自动调节、电厂自动化、计算机辅助设计、计算机监控技术等。 就业方向:毕业生面向大型发电厂、设计院、科研院所、水电工程建设部门、电力设备制造单位等就业,主要从事设计、安装、运行管理和科学研究工作。 水文与水资源工程专业 培养目标:水文与水资源工程专业主要培养从事水文、水资源及环境保护方面勘测、规划设计、预测预报、管理、技术经济分析以及教学和基础理论研究的高级工程技术人才。 主要课程:水力学、自然地理学、水文气象学、水文学原理、地下水水文学、水环境保护、河流动力学、水资源评价及管理、水化学及水质分析、水资源系统分析、水文信息采集处理、水文预报、工程经济、水利计算及水资源规划等。 就业方向:在水利、能源、交通、城建、农林、环境保护等部门从事勘测、规划设计、预测预报、管理、技术经济分析等工作。 农业水利工程专业 培养目标:农业水利工程专业培养具备农业水利工程学科的基本理论和基本知识,能在农业水利、水电、水保等部门从事水利工程勘测、规划、设计、施工、管理和试验研究以及教学、科研等方面工作的高级工程技术人才。 主要课程:水文学、工程力学、水力学、土力学、结构力学、钢筋混凝土结构、土壤农作学、水利工程施工、灌溉与排水工程学、水资源规划利用与管理、水工建筑物、水泵与泵站(或水电站)等。 就业方向:在农业水利、水电、水保部门从事水利工程勘测、规划、设计、施工、管理和试验研究等工作。 电气工程及其自动化(电力方向)专业 培养目标:本专业培养能够从事电力系统的运行、规划、工程设计、自动控制、信息处理、试验分析、研制开发、经济管理以及电子技术、电力电子技术、计算机应用技术等领域

中国土木各院校的排名、硕士、博士点。

排名基本就是这样: 清华大学有结构工程、防灾减灾与防护工程、材料学博士点,并有土木工程一级学科博士学位授予权,结构工程(联合防灾减灾与防护工程)是国家重点学科。中国工程院院士2人,教授23人,副教授24人,讲师8人,目前在校本科生300多名,研究生200多名。 同济大学中国科学院院士和中国工程院院士5人、博士生导师55人、硕士生导师105人、正高级职称98人、副高级职称135人。设有10个硕士点、7个博士点,设有土木工程博士后流动站。桥梁工程学科为上海市“重中之重”重点学科, 结构工程、岩土工程学科为上海市重点学科;桥梁与隧道工程、结构工程、岩土工程三个二级学科为全国重点学科。 浙江大学岩土工程学科为国家重点学科;结构工程学科为浙江省重点学科;土木工程博士后流动站;土木工程一级学科博士点(涵盖结构工程,岩土工程,市政工程,桥梁与隧道工程,防灾减灾与防护工程,供热、供燃气、通风及空调工程等6个二级学科博士点) 哈尔滨工业大学结构工程、防灾减灾工程与防护工程硕士点学科,结构工程、防灾减灾工程与防护工程和岩土工程博士点学科;土木工程一级学科博士后流动站;结构工程学科设有“长江学者奖励计划”特聘教授岗位。 重庆大学土木工程一级学科博士点及所覆盖的结构工程、岩土工程、防灾减灾与防护工程、桥梁与隧道工程、土木水利施工二级学科博士学位授予点,现有博士导师12人。并设有土木工程一级学科博士后科研流动站。结构工程和岩土工程为建设部及重庆市重点学科,防灾减灾工程为重庆市重点学科。 西安建筑科技大学教授28人,副教授,高级工程师43人,土木工程学院所属的实验室有结构与抗震实验室和岩土工程实验室,其中结构与抗震实验室为陕西省和原冶金部重点实验室,结构工程国家重点学科,土木工程一级学科博士后科研流动站。 天津大学结构工程、防灾减灾与防护工程、桥梁与隧道工程、岩土工程有博士学位授予权 东南大学结构工程国家重点学科、防灾减灾工程及防护工程学科为江苏省重点学科、中国工程院院士1名,教授29名,博士生导师17名 太原理工大学结构工程、岩土工程博士点,防灾减灾工程及防护工程硕士点。结构工程、岩土工程为省重点学科 上海交通大学结构工程博士点,岩土工程、防灾减灾工程及防护工程硕士点

数据结构基础知识大全

/** *名词解释1、数据:是信息的载体,能够被计算机识别、存储和加工处理。 *2、数据元素:是数据的基本单位,也称为元素、结点、顶点、记录。一个数据元素可以由若干个数据项组成,数据项是具有独立含义的最小标识单位。 *3、数据结构:指的是数据及数据之间的相互关系,即数据的组织形式,它包括数据的逻辑结构、数据的存储结构和数据的运算三个方面的内容。 *4、数据的逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。 *5、数据的存储结构:指数据元素及其关系在计算机存储器内的表示。是数据的逻辑结构用计算机语言的实现,是依赖于计算机语言的。 *6、线性结构:其逻辑特征为,若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且其余每个结点只有一个直接前趋和一个直接后继。 *7、非线性结构:其逻辑特征为一个结点可能有多个直接前趋和直接后继。 *8、算法:是任意一个良定义的计算过程,它以一个或多个值作为输入,并产生一个或多个值作为输出;即一个算法是一系列将输入转换为输出的计算步骤。 *9、算法的时间复杂度T(n):是该算法的时间耗费,它是该算法所求解问题规模n趋向无穷大时,我们把时间复杂度T(n)的数量级(阶)称为算法的渐近时间复杂度。 *10、最坏和平均时间复杂度:由于算法中语句的频度不仅与问题规模n有关,还与输入实例等因素有关;这时可用最坏情况下时间复杂度作为算法的时间复杂度。而平均时间复杂度是指所有的输入实例均以等概率出现的情况下,算法的期望运行时间。 *11、数据的运算:指对数据施加的操作。数据的运算是定义在数据的逻辑结构上的,而实现是要在存储结构上进行。 *12、线性表:由n(n≥0)个结点组成的有限序列。其逻辑特征反映了结点间一对一的关系(一个结点对应一个直接后继,除终端结点外;或一个结点对应一个直接前趋,除开始结点外),这是一种线性结构。 *13、顺序表:顺序存储的线性表,它是一种随机存取结构。通过将相邻结点存放在相邻物理位置上来反映结点间逻辑关系。 *14、单链表:每个结点有两个域:一个值域data;另一个指针域next,用来指向该结点的直接后继结点。头指针是它的充分必要的信息。单链表是一种单向的结构。 *15、双链表:每个结点中增加了一个prior,用来指向该点的直接前趋结点。它是一种双向、对称的结构。 *16、循环链表:是一种首尾相接的链表。单循环链表形成一个next链环,而双循环链表形成next链环和prior链环。 *17、存储密度:是指结点数据本身所占的存储量和整个结点结构所占的存储量之比。顺序表的存储密度为1,而链表的存储密度小于1。 *18、栈:只允许在一端进行插入、删除运算的线性表,称为“栈”(stack)。 *19、LIFO表:即后进先出表,修改操作按后进先出的原则进行。譬如栈就是一种LIFO 表。 *20、顺序栈:采用顺序存储结构的栈,称为顺序栈。 *21、链栈:采用链式存储结构的栈,称为链栈。 *22、队列:只允许在一端进行插入、另一端进行删除运算的线性表,称为“队列”(queue)。*23、FIFO表:即先进先出表。譬如队列就是一种FIFO表。 *24、顺序队列:采用顺序存储结构的队列,称为顺序队列。 *25、循环队列:为克服顺序队列中假上溢现象,将向量空间想象为一个首尾相接的圆环,

链表习题高考真题

(2)下列程序的功能是实现向head指向的链表中插入新结点s,如图17所示,使该链表按结点的id值保持升序排列。 图17 #include #include typedef struct Node{ int id; char *name; struct Node *next; }Node; void Innode(Node *head,int id,char *str) { int j=0; Node *p,*q,*s; p=head; while( ④) { q=p; p=p->next; } s=(Node*)malloc(sizeof(Node)); s->id=id; s->name=str; ⑤ ⑥ } main() { /*省略创建链表head的代码*/ Innode(head,3,”Jone”); } 36.Merge函数用于将两个升序的链表head1和head2合并成一个链表,并保持合并后链表依然升序。排序的依据为结构体类型Node中的data成员,合并中不得删除节点。下面给出Merge函数的主体框架,在空出的五个位置补充该主体框架缺失的代码段。注意:不能定义新的变量,可不用已定义的某些变量。 typedef struct Node { int data; struct Node *next; }Node; Node *Merge(Node *head1,Node *head2) { if ( head1==NULL) return head2; if(head2==NULL) return headl; Node *head=NULL;//head指针用于指向合并后链表的头结点 Node *pl=NULL; Node *p2=NULL; if(headl->datadata){ head=headl; ______①______

两个线性表合并成一个线性表

#include #include //节点结构 struct LinkList { int data; struct LinkList * next; }; void main() { int a[8]={1,3,4,7,7,8,34,45}; int b[9]={1,2,4,7,9,12,33,43,56}; LinkList *pa=NULL; LinkList *pb=NULL; LinkList *pc=NULL; LinkList *la=NULL;//la,lb,lc保存链表首地址 LinkList *lb=NULL; LinkList *lc=NULL; // 初始化单链表 for(int i=7;i>=0;i--) { pa=(LinkList *) malloc(sizeof(struct LinkList)); pa->data=a[i]; pa->next=la; la=pa; } for(int j=8;j>=0;j--) { pb=(LinkList *) malloc(sizeof(struct LinkList)); pb->data=b[j]; pb->next = lb; lb=pb; } lc=pc=(LinkList *) malloc(sizeof(struct LinkList));//LC指向单链表的头节点 //递增排序 while(pa && pb) {

if( (pa->data) <= (pb->data) ) { pc->next=pa; pc=pc->next; pa=pa->next; } else { pc->next=pb; pc=pc->next; pb=pb->next; } } if(pa) { pc->next=pa; } if(pb) { pc->next=pb; } pc=lc->next; while(pc) { printf("%d\t",*pc); pc=pc->next; } printf("\n"); }

全国岩土工程博士点

兰州交通大学土木工程~ 关于排名有人说13 有人说前三十但那没用每个学校土木侧重点不同兰交 主要是路桥和铁道好土木的就业非常好 中国各大学土木工程专业简介 全国共有188所大学开设土木工程专业,92所大学招收土木工程研究生,70所大学有结构工程硕士以上学位授予权,51所大学有岩土工程硕士以上学位授予权,30所大学有防灾减灾与防护工程硕士以上学位授予权,23所大学有桥梁与隧道工程硕士以上学位授予权。 清华大学有结构工程、防灾减灾与防护工程、材料学博士点,并有土木工程一级学科博士学位授予权,结构工程(联合防灾减灾与防护工程)是国家重点学科。中国工程院院士2人,教授23人,副教授24人,讲师8人,目前在校本科生300多名,研究生200多名。 同济大学中国科学院院士和中国工程院院士5人、博士生导师55人、硕士生导师105人、正高级职称98人、副高级职称135人。设有10个硕士点、7个博士点,设有土木工程博士后流动站。桥梁工程学科为上海市“重中之重”重点学科, 结构工程、岩土工程学科为上海市重点学科;桥梁与隧道工程、结构工程、岩土工程三个二级学科为全国重点学科。 浙江大学岩土工程学科为国家重点学科;结构工程学科为浙江省重点学科;土木工程博士后流动站;土木工程一级学科博士点(涵盖结构工程,岩土工程,市政工程,桥梁与隧道工程,防灾减灾与防护工程,供热、供燃气、通风及空调工程等6个二级学科博士点) 哈尔滨工业大学结构工程、防灾减灾工程与防护工程硕士点学科,结构工程、防灾减灾工程与防护工程和岩土工程博士点学科;土木工程一级学科博士后流动站;结构工程学科设有“长江学者奖励计划”特聘教授岗位。 重庆大学土木工程一级学科博士点及所覆盖的结构工程、岩土工程、防灾减灾与防护工程、桥梁与隧道工程、土木水利施工二级学科博士学位授予点,现有博士导师12人。并设有土木工程一级学科博士后科研流动站。结构工程和岩土工程为建设部及重庆市重点学科,防灾减灾工程为重庆市重点学科。 西安建筑科技大学教授28人,副教授,高级工程师43人,土木工程学院所属的实验室有结构与抗震实验室和岩土工程实验室,其中结构与抗震实验室为陕西省和原冶金部重点实验室,结构工程国家重点学科,土木工程一级学科博士后科研流动站。 天津大学结构工程、防灾减灾与防护工程、桥梁与隧道工程、岩土工程有博士学位授予权

西安理工考研2017数据结构

西安理工大学 2017年攻读硕士学位研究生入学考命题 考试科目:数据结构863 一、单项选择题(共30分,每小题2分) 1、折半查找算法适用于( a )的线性表 a.有序表 b.顺序存储的有序表 c.链式存储的有序表 d.任意 2、在程序设计语言的函数调用过程中,普遍采用( d )数据结构保存函数调用的返回地址和现场变量。 a.树 b.队列 C.图 d.栈 3、快速排序在最坏情况下的时间复杂度为( d )。 a. 0(logn) b. 0(nlogn) c.0(n) d.0(n2) 4、设有数据结构A=(D,R),其中D={1,2,3,4,5,},R={<1,2>,<1,3>,<2,4>,<4, 1>,<5,3>},则数据结构A是(c) a.线性结构 b.树型结构 C.图型结构 d.集合 5、一个深度为k的满二叉树上有( c )个结点。 a.2k+1 b.2k-1 c.2k-1 d.2k-1 6、设某完全无向图中有n个顶点,则该完全无向图中有( a )条边。 a.n(n-1)/2 b.n(n-1) c.n2 d.n2-1 7、二叉链表作为二叉树的存储结构,在具有n(n>0)个结点的二叉链表中空链域的个数为( c )。 a.2n-1 b.n-1 c. n+1 d. 2n+1 8、已知一个有向图的邻接矩阵。要计算第i个结点的出度。则应该(a)。 a. 计算邻接矩阵的第i行的1的个数 b. 计算邻接矩阵的第i列的1的个数 c. 计算邻接矩阵的第i行及第i列的1的个数 d. 计算邻接矩阵的第i行的0的个数 9、在有同图链表存储中,要想方便的求出顶点的入度和出度,最后是采用(a)进行存储。 a.邻接链表 b.逆邻接表 c.十字链表 d.双向循环链表 10、设某连通图中有n个顶点,则该连通图中至少有(a)条边。 a.n-1 b.n+1 c.n d.n(n+1) 11、在数据基本有序的情况下,下列排序方法中,( b )将是最慢的一个排序算法。 a.冒泡排序 b.快速排序 c.归并排序 d.堆持序 12、将递归算法转换成非递归算法时,除了单向递归和尾递归的情况外,通常需使用( b )保存中间结果。 a.链表 b.栈 c.队列 d.顺序表 13、图的广度优先搜索算法中用到的一个基本数据结构是( b )。 a.栈 b.队列 c.线性表 d.树 14、设一个有序的顺序存储的表中有n个元素,现要求插入一个元素后使得该线性表保持有序,则该操作的时间复杂度为( d )。 a.0(log2n) b.0(l) c.0(n2) d.0(n) 15、设哈希表长m=14,哈希函数H(key)= key mod11,若采用线性探测再散列处理突,表中六个记录,则其地址分别为addr(15)=4, addr (38)=5, addr (61)=6, addr (84)=7, addr (58)=3, addr

c语言实现单链表的合并 归并算法

#include #include typedef struct Node { int data; struct Node *next; }Node, *LinkList; LinkList LA,LB,LC; void InitList(LinkList *L) //初始化单链表 { *L=(LinkList)malloc(sizeof(Node)); (*L)->next=NULL; } void EnterList(LinkList &L) //尾插法创建单链表。{ Node *s,*r; int flag=1,integer; r=L; while(flag) { scanf("%d",&integer);

if(integer != -1) { s=(Node*)malloc(sizeof(Node)); s->data=integer; r->next=s; r=s; } else { flag=0; r->next=NULL; } } } void UnionList(LinkList &LA,LinkList &LB,LinkList &LC) { Node *p,*q,*r,*y; p=LA->next; q=LB->next; r=LC; while (p)

{ y=(Node*)malloc(sizeof(Node)); y->data=p->data; r->next=y; r=y; p=p->next; } while (q) { y=(Node*)malloc(sizeof(Node)); y->data=q->data; r->next=y; r=y; q=q->next; } r->next=NULL; } void DeSameList(LinkList *LC)//删除c表的相同元素。{ Node *p,*q,*r; for(p=(*LC)->next;p!=NULL;p=p->next)

(建筑工程管理)全国岩土工程排名

(建筑工程管理)全国岩土 工程排名

兰州交通大学土木工程~ 关于排名有人说13有人说前三十但那没用每个学校土木侧重点不同兰交主要是路桥和铁道好土木的就业非常好 中国各大学土木工程专业简介 全国共有188所大学开设土木工程专业,92所大学招收土木工程研究生,70所大学有结构工程硕士之上学位授予权,51所大学有岩土工程硕士之上学位授予权,30所大学有防灾减灾和防护工程硕士之上学位授予权,23所大学有桥梁和隧道工程硕士之上学位授予权。 清华大学有结构工程、防灾减灾和防护工程、材料学博士点,且有土木工程壹级学科博士学位授予权,结构工程(联合防灾减灾和防护工程)是国家重点学科。中国工程院院士2人,教授23人,副教授24人,讲师8人,目前在校本科生300多名,研究生200多名。 同济大学中国科学院院士和中国工程院院士5人、博士生导师55人、硕士生导师105人、正高级职称98人、副高级职称135人。设有10个硕士点、7个博士点,设有土木工程博士后流动站。桥梁工程学科为上海市“重中之重”重点学科,结构工程、岩土工程学科为上海市重点学科;桥梁和隧道工程、结构工程、岩土工程三个二级学科为全国重点学科。 浙江大学岩土工程学科为国家重点学科;结构工程学科为浙江省重点学科;土木工程博士后流动站;土木工程壹级学科博士点(涵盖结构工程,岩土工程,市政工程,桥梁和隧道工程,防灾减灾和防护工程,供热、供燃气、通风及空调工程等6个二级学科博士点) 哈尔滨工业大学结构工程、防灾减灾工程和防护工程硕士点学科,结构工程、防灾减灾工程和防护工程和岩土工程博士点学科;土木工程壹级学科博士后流动站;结构工程学科设有“长江学者奖励计划”特聘教授岗位。 重庆大学土木工程壹级学科博士点及所覆盖的结构工程、岩土工程、防灾减灾和防护工程、桥梁和隧道工程、土木水利施工二级学科博士学位授予点,现有博士导师12人。且设有土木工程壹级学科博士后科研流动站。结构工程和岩土工程为建设部及重庆市重点学科,防灾减灾工程为重庆市重点学科。 西安建筑科技大学教授28人,副教授,高级工程师43人,土木工程学院所属的实验室有结构和抗震实验室和岩土工程实验室,其中结构和抗震实验室为陕西省和原冶金部重点实验室,结构工程国家重点学科,土木工程壹级学科博士后科研流动站。 天津大学结构工程、防灾减灾和防护工程、桥梁和隧道工程、岩土工程有博士学位授予权 东南大学结构工程国家重点学科、防灾减灾工程及防护工程学科为江苏省重点学科、中国工程院院士1名,教授29名,博士生导师17名 太原理工大学结构工程、岩土工程博士点,防灾减灾工程及防护工程硕士点。结构工程、岩土工程为省重点学科 上海交通大学结构工程博士点,岩土工程、防灾减灾工程及防护工程硕士点 北京工业大学工程减灾和结构检测实验室、交通工程实验室和水质科学和水环境恢复工程是北京市重点实验室。现有6个本、专科专业和方向,11个硕士学位授权学科,其中交通工程、结构工程为北京市重点学科,具有博士学位授予权。 北京交通大学土木工程壹级学科博士学位授予权;桥梁和隧道工程、岩土工程、结构工程、防灾减灾工程及防护工程、道路和铁道工程、地下工程、环境岩土工程、城市轨道交通等13个专业具有博士学位授予权;设有土木工程博士后流动站,可接受国内外的博士进站工作。其中桥梁和隧道工程、道路和铁道工程为铁道部重点学科,岩土工程、防灾减灾工程及防护工程为北京市重点学科。 北京科技大学中国工程院院士(兼职)1名,博士生导师6名,教授11名,副教授9名,高级工程师4名。其中具有博士学位者17人,有“岩土工程”、“结构工程”、“防灾减灾工程及防护工程”3个研究生专业可授予硕士学位,“岩土工程”博士学科点

西安理工考研数据结构初试题

西安理工大学 2016年攻读硕士学位研究生入学考命题纸 考试科目:数据结构863 一、单项选择题(共30分,每小题2分) 1、考虑将栈定义为顺序存储的栈还是链式存储的栈,是在选择数据的( d )。 a.逻辑结构 b.物理结构 c.相互关系 d.操作方法 2、在一个长度为n的顺序线性表中顺序査找值为x的元素时,查找成功时的平均查找长度为( c )(假定找每个元素的概率都相等) a.n b.(n+1)/2 c.n/2 d.(n-1)/2 3、组成数据的基本单位是( c )。 a.数据项 b.数据类型 c.数据元素 d.数据变量 4、设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<2,4>, <4,1>},则数据结构A是( c )。 a.线性结构b树型结构 c.图型结构 d.集合 5、深度为K(K>=1)的二叉树至多有(c)个结点。 a.2k+1 b.2k-1 c.2k-1 d.2k-1 6、设某完全无向图中有n个顶点,则该完全无向图中有(a)条边。 a.n(n-1)/2 b.n(n-1) c.n2 d.n2-1 7、二叉链表作为二叉树的存储结构,在具有n(n>0)个结点的二叉链表中空链域的个数为( c ) a.2n-1 b. n-1 c. n+1 d.2n+1 8、已知一个有向图的邻接矩阵,要想删除所有以第i个点为起始点的弧,应该(c) a.删除邻接矩阵的第i行 b.除邻接矩阵的第i列 c.将邻接矩阵的第i行置零 d.将邻接矩阵的第i列置零 9、设无向图G中有n个点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为(d)。课本164页 a. n, e b.e,n c. 2n, e d.n,2e 10、设某强通图中有n个顶点,则该强道通图中至少有(c)条边。 a. n(n-1) b. n+1 c. n d. n(n+1) 11、下列四种排序中( a )的空间复杂度最大。 a.快速排序 b.冒泡排序 c.希尔排序 d.堆 12、设某二叉树中度数为0的结点数为N0,度数为1的结点数为N1,度数为2的结点数为N2,则下列等式成立的是( c)课本117性质3 a. N0=N1+1 b. N0=N1+N2 c. N0=N2+1 d. N0=2N1+1 13、若要求算法的时间复杂度为O( nlogn),且要求排序是稳定的,则可选择的排序方法 是(c)课本264表9.1 a.快速排序 b.堆排序 c.归并排序 d.直接插入排序 14、设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为(d)

实验报告03-两个有序链表的合并

实验目的及要求: 了解和掌握链表的特点; 掌握链表基本操作的实现; 掌握两个有序链表合并的算法 要求完成链表的初始化、插入、有序表合并、显示操作的实现。实验设备环境及要求: PC机一台,内存要求128M以上,VC++6.0集成开发环境。 实验内容与步骤: 1、在VC++6.0环境中新建一个工程和C++文件; 2、实现链表初始化、插入、有序合并算法,代码如下: #include #include typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; int InitList_L(LinkList &L){ L= (LinkList)malloc(sizeof(LNode)); L->next=NULL; return 1; } int ListInsert_L(LinkList &L,int i,ElemType e){ LinkList p; p=L; int j=0; while(p&&jnext; ++j; } if(!p||j>i-1) return 0; LinkList s=(LinkList)malloc(sizeof(LNode)); s->data=e; s->next=p->next; p->next=s; return 1; } void Disp_L(LinkList L){

LinkList p=L->next; if(!p) printf("此链表为空!"); while(p){ printf("%d",p->data); p=p->next; } printf("\n"); } void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){ LinkList pa=La->next; LinkList pb=Lb->next; LinkList pc=Lc=La; while(pa&&pb){ if(pa->data<=pb->data){ pc->next=pa;pc=pa;pa=pa->next; } else{ pc->next=pb;pc=pb;pb=pb->next; } } pc->next=pa?pa:pb; free(Lb); } void main(){ LinkList La,Lb,Lc; InitList_L(La); InitList_L(Lb); InitList_L(Lc); ListInsert_L(La,1,2); ListInsert_L(La,2,3); ListInsert_L(La,3,5); Disp_L(La); ListInsert_L(Lb,1,1); ListInsert_L(Lb,2,4); ListInsert_L(Lb,3,6); ListInsert_L(Lb,4,7); Disp_L(Lb); MergeList_L(La,Lb,Lc); printf("合并之后的链表为:\n"); Disp_L(Lc); }实验指导与数据处理:

西安理工大学硕士研究生培养方案

西安理工大学 硕士研究生培养方案 西安理工大学研究生部

目录 西安理工大学硕士学位授予权学科、专业 (1) 西安理工大学攻读硕士学位研究生培养方案 (5) 人口、资源与环境经济学学科 (7) 马克思主义理论学科 (8) 高等教育学学科................................... ............. . . (10) 外国语言学及应用语言学学科 (11) 计算数学学科 (12) 应用数学学科 (14) 光学学科 (16) 力学学科 (18) 物理电子学学科 (20) 应用化学学科 (21) 机械工程学科 (22) 光学工程学科 (24) 仪器科学与技术学科 (26) 材料科学与工程学科........................................ .. (28) 电力系统及其自动化学科 (30) 电力电子与电力传动学科 (32) 电路与系统学科 (33) 微电子学与固体电子学学科 (35) 通信与信息系统学科 (36) 控制科学与工程学科........................................ . . (38) 计算机科学与技术学科…………………………………. . (40)

流体机械及工程学科.......................... ................. .(41) 土木工程学科 (43) 水利工程学科 (45) 农业水土工程学科 (48) 环境科学与工程学科 (49) 水土保持与荒漠化防治学科 (50) 区域经济学学科 (51) 金融学学科..................................................... . .(53) 国际贸易学学科............................................... . (54) 管理科学与工程学科 (55) 会计学学科 (57) 企业管理学科 (58) 技术经济及管理学科 (59) 设计艺术学学科 (61) 制浆造纸工程学科(印刷工程) (62) 食品科学学科(包装工程) (64) 印刷包装技术与设备学科 (66) 信号与信息处理学科 (68)

西安理工大学《数据结构》链表合并

数据结构 课程设计报告设计题目:链表合并 学院经济与管理学院 专业信息管理与信息系统 班级信管131 学号 姓名 2015秋季学期

报告格式按以下标题及内容书写,标题为小四号宋体,正文内容为五号字,16开打印。 一、问题描述 实现两个链表的合并 二、基本要求 1) 建立两个链表A和B,链表元素个数分别为m和n个; 2) 假设元素分别为(x1,x2,…xm),和(y1,y2, …yn); 3)把它们合并成一个顺序表C,使得:当m>=n时,C=x1,y1,x2,y2,...xn,yn, (x) 当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn 4)输出顺序表C 5) 用直接插入排序法对顺序表C进行升序排序,生成链表D,并输出链表D。 6)能删除链表D中指定位置和指定值的元素。 三、算法思想 首先我们需要建立两个链表A,B,A链表的元素个数为m;B链表的元素个数为n;在将A,B链表进行合并,根据m和n的大小关系决定链表C的元素顺序(当m>=n 时,应该先插入A表中的数据元素,在偶数位插入A表中的数据元素,在奇数位插入B表中的数据元素,最后在插入A表中剩余的数据元素;当m

实现两个链表的合并

实现两个链表的合并 基本功能要求: (1)建立两个链表A和B,链表元素个数分别为m和n个。 (2)假设元素分别为(x1,x2,...xm),和(y1,y2, ...yn)。把它们合并成一个线性表C,使得:当m>=n时,C=x1,y1,x2,y2,...xn,yn, (x) 当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn 输出线性表C: (1)用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。 测试数据: (1)A表(30,41,15,12,56,80) B表(23,56,78,23,12,33,79,90,55) (2)A表(30,41,15,12,56,80,23,12,34) B表(23,56,78,23,12) 模块划分 (1)结构体struct Node的创建。 (2)struct Node *create()链表的创建。 (3)void print(struct Node *head)功能是对链表进行输出。 (4)struct Node * inter_link(struct Node * chain1, int a, struct Node * chain2, int b) 算法的功能是实现两个链表的交叉合并,并且可以根据两链表的长短将行不通的插入。 (5)void InsertSort(struct Node *p,int m)算法的功能是对一合并好的链表进行升序插 入排序。 (6)main()函数主要是对算法进行测试。 数据结构: 数据结构定义如下: struct Node { long int number; struct Node *next; };

全国大学岩土工程专业排名

全国共有188所大学开设土木工程专业,92所大学招收土木工程研究生,70所大学有结构工程硕士以上学位授予权,51所大学有岩土工程硕士以上学位授予权,30所大学有防灾减灾与防护工程硕士以上学位授予权,23所大学有桥梁与隧道工程硕士以上学位授予权。 清华大学有结构工程、防灾减灾与防护工程、材料学博士点,并有土木工程一级学科博士学位授予权,结构工程(联合防灾减灾与防护工程)是国家重点学科。中国工程院院士2人,教授23人,副教授24人,讲师8人,目前在校本科生300多名,研究生200多名。 同济大学中国科学院院士和中国工程院院士5人、博士生导师55人、硕士生导师105人、正高级职称98人、副高级职称135人。设有10个硕士点、7个博士点,设有土木工程博士后流动站。桥梁工程学科为上海市“重中之重”重点学科, 结构工程、岩土工程学科为上海市重点学科;桥梁与隧道工程、结构工程、岩土工程三个二级学科为全国重点学科。 浙江大学岩土工程学科为国家重点学科;结构工程学科为浙江省重点学科;土木工程博士后流动站;土木工程一级学科博士点(涵盖结构工程,岩土工程,市政工程,桥梁与隧道工程,防灾减灾与防护工程,供热、供燃气、通风及空调工程等6个二级学科博士点) 哈尔滨工业大学结构工程、防灾减灾工程与防护工程硕士点学科,结构工程、防灾减灾工程与防护工程和岩土工程博士点学科;土木工程一级学科博士后流动站;结构工程学科设有“长江学者奖励计划”特聘教授岗位。 重庆大学土木工程一级学科博士点及所覆盖的结构工程、岩土工程、防灾减灾与防护工程、桥梁与隧道工程、土木水利施工二级学科博士学位授予点,现有博士导师12人。并设有土木工程一级学科博士后科研流动站。结构工程和岩土工程为建设部及重庆市重点学科,防灾减灾工程为重庆市重点学科。 西安建筑科技大学教授28人,副教授,高级工程师43人,土木工程学院所属的实验室有结构与抗震实验室和岩土工程实验室,其中结构与抗震实验室为陕西省和原冶金部重点实验室,结构工程国家重点学科,土木工程一级学科博士后科研流动站。 天津大学结构工程、防灾减灾与防护工程、桥梁与隧道工程、岩土工程有博士学位授予权 东南大学结构工程国家重点学科、防灾减灾工程及防护工程学科为江苏省重点学科、中国工程院院士1名,教授29名,博士生导师17名 太原理工大学结构工程、岩土工程博士点,防灾减灾工程及防护工程硕士点。结构工程、岩土工程为省重点学科 上海交通大学结构工程博士点,岩土工程、防灾减灾工程及防护工程硕士点 北京工业大学工程减灾与结构检测实验室、交通工程实验室和水质科学与水环境恢复工程是北京市重点实验室。现有6个本、专科专业和方向,11个硕士学位授权学科,其中交通工程、结构工程为北京市重点学科,具有博士学位授予权。 北京交通大学土木工程一级学科博士学位授予权;桥梁与隧道工程、岩土工程、结构工程、防灾减灾工程及防护工程、道路与铁道工程、地下工程、环境岩土工程、城市轨道交通等13个专业具有博士学位授予权;设有土木工程博士后流动

西安理工大学自动化与信息工程学院专业介绍

自动化与信息工程学院创建于1958年,有着悠久的办学历史和艰苦创业的光荣传统。学院前身为原自动控制系和自动化工程系,经过几代人近半个世纪的不懈努力,如今已发展成为我校集电子、电气、自动化及信息类专业于一体,专业面最宽,学生规模最大的学院之一。近50年来,已为国家经济建设输送了大量的高级优秀人才,也为学校赢得了良好的社会声誉。 进入20世纪90年代以来,学院以转变教育观念为先导,以课程体系与教学内容改革为基础,积极推进专业建设和专业改造,强化实践教学环节,规范教学管理,稳步提升本科教学质量,取得了丰硕的教学成果,进入了国内同类院校本科教学的先进行列。 自动化专业 培养目标:本专业培养具有扎实的自动化工程领域基础理论和专业知识,具有较强的实践能力、创新能力,能够在系统控制、电力电子技术、信号检测与处理、计算机网络与通讯等领域从事系统设计与运行、产品研发、科学研究的复合型高级工程技术人才。 主要课程:计算机应用基础、C语言程序设计、计算机软件基础、电路、模拟电子技术、数字电子技术、自动控制理论、计算机网络与通讯、信号与系统、电机及拖动、电力电子技术、微机原理及应用、过程控制与自动化仪表、自动控制系统、运筹学、模式识别、计算机控制技术、智能控制、DSP原理与应用等。 就业方向:本专业的毕业生能适应国民经济各行业实现自动化的需要,能从事仪表与计算机过程控制系统、运动控制系统、计算机网络与通讯系统的设计、研制、调试、运行、维护或相应的教学、科研工作。 电子信息工程(电信方向)专业 培养目标:本专业培养具有扎实的电子信息与计算机应用领域基础理论与专业知识,具有较强的实践能力、创新能力,能在信息产业及相关行业从事信息工程及相关技术的研究、开发、应用、管理工作的高级工程技术人才。 主要课程:计算机应用基础、C语言程序设计、计算机软件基础、电路、模拟电子技术、数字电子技术、自动控制理论、通信原理、计算机网络与通讯、信号与系统、高频电子线路、微机原理及应用、图象处理与传输、电视技术、数字信号处理、电磁场与电波传输、信息论基础、模式识别等。 就业方向:本专业的毕业生可从事各行业信息获取、处理与传输的电子设备、计算机系统、信息系统的研制、开发、设计、维护或相应的科学研究与教学工作。 电气工程及其自动化(电气方向)专业 培养目标:本专业是一个强、弱电结合,电力电子与计算机控制技术相融合的宽口径专业,培养具备电气工程学科的基本理论和专业技能,能够在电气工程及电子与计算机应用技术等领域从事系统运行、电力电子技术应用、信息处理、试验分析、研制开发、管理等工作的复合型高级工程技术人才。 主要课程:电路、模拟电子技术基础、数字电子技术基础、电力电子技术、自动控制理论、微机原理及应用、电机及拖动、计算机控制技术、自动控制系统、现代供电技术、交流调速原理、开关电源原理、电力系统自动化技术等。 就业方向:学生毕业后可在国民经济各行业(尤其是机械、电力、电子、计算机与信息工程等)从事电力电子及电力传动装置、电力系统自动化、计算机控制及信息处理系统的开发、设计、制造、运行、管理或相应的教学与科学研究工作。 电子信息科学与技术专业 培养目标:本专业是一个电子技术、计算机技术和信息技术相结合的宽口径专业,培养具备电子信息科学与技术的基本理论和专业技能,能在电子科学与技术、计算机科学与技术领域内从事科学研究、教学、技术开发、生产管理的复合型高级人才。 主要课程:电路、高频电子线路、数字电路与逻辑设计、计算机技术系列课程(微机原

09级《数据结构》实验指导书

《数据结构实验指导书》 潘向辉/吴学毅编写 印包学院数字媒体技术专业 2011年3月

实验说明 【实验环境】 操作系统:Microsoft Windows XP/2000。 编程语言:C语言 【实验要求】 1.实验前,了解实验目的、实验内容及相关的基本理论知识,并按照实 验内容要求设计程序流程,书写预习报告; 2.本课程实验均为单人单组,独立完成; 3.实验所用计算机固定,以便实现实验之间的延续性; 4.按要求完成实验内容,在实验结束后按照格式和规范撰写实验报告。【实验项目及学时分配】 【实验报告及考核】 1.实验报告撰写符合格式及规范要求,详见实验报告撰写格式及规范;2.本课程实验占课程总成绩的15%。

实验(一)线性表 一、实验项目 名称:线性表课时:4学时 二、实验要求 1、掌握顺序表的定义与实现,包括查找、插入、删除算法的实现; 2、掌握在各种链表结构中实现线性表操作的基本方法,能在实际应 用中选用适当的链表结构; 三、实验环境 Widows操作系统、C语言 四、实验内容 (1)顺序表 建立一如下表所示的学生信息表 使用结构体,用顺序表完成以下内容: 1.初始化线性表为空; 2.依次输入数据元素;(由键盘输入) 3.完成数据元素的插入、删除操作; 4.取第i个数据元素; 5.依次显示当前线性表中的数据元素。 (2)单链表 建立一个单链表,依次输入数据元素0~9。使用结构体,用单链表完成以下内容: 1.初始化单链表; 2.在单链表指定位置插入一个数据元素; 3.删除指定位置的一个数据元素; 4.取第i个数据元素; 5.查找数据元素x 是否在单链表中; 6.销毁单链表; 五、思考题: 在什么情况下使用顺序表比链表好?

相关主题
文本预览
相关文档 最新文档