二叉树结点的左右子树交换 课程设计报告

二叉树结点的左右子树交换    课程设计报告
二叉树结点的左右子树交换    课程设计报告

目录

一需求分析 (1)

二概要设计 (1)

三详细设计 (2)

四调试分析和测试结果 (4)

五总结 (6)

六参考文献 (7)

七致谢 (7)

八附录 (7)

一需求分析

问题描述:交换二叉树中所有结点的左、右子树,该二叉树以二叉链表作为存储结构。

基本思想:设二叉树的根指针为s,且以二叉链表表示,可利用一个类型为Q的指针队列来实现,且设队列单元包含两个域,一个为front,一个为rear,整个队列容量为maxsize,当树非空时,将当前的树根结点入队列,同时将当前队列顶元素出队列当作根结点,然后依据当前的根结点是否具有孩子结点来判定是否将其左、右指针进行交换;再将交换后的左指针或右指针入队列,这样反复进行,直到队列空为止。

图1-1是该课题的功能模块图:

图 1-1

二概要设计

该课题主要分为三个功能模块:重新建立二叉树、交换左右子数、先根遍历二叉树。这里主要用到了队列及二叉树的知识,先对二叉树进行层次遍历,然后

再进行左右子树交换操作,最后再进行先根遍历二叉树,这就实现了二叉树节点的左右子树交换。三个功能模块相互独立又相互关联,独立仅在于各自操作互不影响,而关联在于后两个功能可以对当前建立的二叉树进行操作,产生不同的结果。

该功能流程图(图2-1)如下:

三详细设计

本课题为二叉树结点的左、右子树的交换,主要分为三个模块:重新建立二叉树、交换左右子数、先根遍历二叉树。各模块的详细设计如下:

首先定义结构体类型及二叉树结点类型,如下所示:

typedef char datatype; // 树的结点数据类型为字符型,可以根据需要修改typedef struct node *pointer; // 定义二叉树结点类型

struct node {

datatype data; //结点数据

pointer lchild,rchild; //左右孩子结点

};

三个模块各写三个函数,分别如下所示:

bitree level_creat() //由层次序列建立二叉树,返回根指针

{

char ch;

ch=cin.get();

int front,rear;

pointer root,s;

root=NULL; //置空二叉树

front=rear=0; //置空队列

//while(cin>>ch,ch!='!')

while(cin>>ch,ch!='!')

{

if(ch!='@') //非虚结点,建立新结点

{

s=new node;

s->data=ch;

s->lchild=s->rchild=NULL;

}

else s=NULL;

rear++;

Q[rear]=s; //不管结点是否为虚都要入队

if(rear==1) { root=s; front=1; } //第一个点是根,要修改头指针,他不是孩子

else if(s && Q[front]) //孩子和双亲都不是虚结点

if(rear%2==0) Q[front]->lchild=s; // rear是偶数,新结点是左孩子

else

{

Q[front]->rchild=s; //rear 是奇数,新结点是右孩子

front++;

}

}

return root;

}

void exchange(bitree t) //交换左右子数函数

{

pointer p;

if(t==NULL) return; //空树,直接返回

p=t->lchild; t->lchild=t->rchild; t->rchild=p; //交换

exchange(t->rchild); //遍历原左子树

exchange(t->lchild); //遍历原右子树

}

void preorder(bitree t) //先根遍历函数

{

if(t==NULL)

return;

cout<data<<" "; //先访问跟

preorder(t->lchild); //先根遍历左子树

preorder(t->rchild); //先根遍历右子树

flag=1;

}

四调试分析和测试结果

本人主要编写main()函数及先根遍历函数,主函数还是比较简单,就是先根遍历函数有一个小问题:输入的的第一个树即根结点始终打印不出来,分析代码,也没发现什么错误,比较纠结。

下面是测试结果截图:

图4-1为程序运行首页。

图4-1

图4-2为输入二叉树结点的界面。

图4-2 图4-3为操作菜单。

图4-3 图4-4为左右二叉树交换成功。

图4-4 图4-5为先根遍历输出结果。

图4-5

五总结

在刚选到该课题的时候,感觉挺茫然的,不知从何处入手。毕竟一个寒假过来,上学期学的数据结构知识也忘的差不多了,并且学的也不是很扎实,所以感觉无从下手。在队友的相互帮助下,我们开始加紧的看书,去图书馆借资料以及上网进行搜索相关的资料,并慢慢的开始做起来。

我们这组三人,分工也比较明确,各自主要负责自己的模块。二本人负责先序遍历模块以及主函数的的编写。在编码过程中,我们遇到了很多小问题,以及一些因粗心而造成的错误,我们都一一解决了。只是我这个环节还有一个问题没有得到解决,就是输出先根遍历的结果时根节点没输出来。这个问题困扰我两天,一直没有得到解决。这个需要以后再继续学习、探究。

总的来说,由于时间有限,本次课程设计“马马虎虎”地完成了。从理论到实践,在整整一个星期的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。

六参考文献

1.严蔚敏吴伟明数据结构(C语言版)--清华大学出版社

2. csdn论坛网址:https://www.360docs.net/doc/af19072633.html,

七致谢

完成该课题的设计,离不开队友的相互配合、同学的帮助及老师的指导,在此表示十分感谢!

八附录

//源代码

#include

#include

#include

using namespace std;

/* 二叉树类型的定义(二叉链表形式储存) */

typedef char datatype; // 树的结点数据类型为字符型,可以根据需要修改typedef struct node *pointer; // 定义二叉树结点类型

struct node {

datatype data; //结点数据

pointer lchild,rchild; //左右孩子结点

};

typedef pointer bitree; //定义二叉树类型

/* 先根遍历交换左右子树 */

/* 层次遍历序列生成 */

const int maxsize=100;

int flag=0;

pointer Q[maxsize+1];

bitree level_creat() //由层次序列建立二叉树,返回根指针

{

char ch;

ch=cin.get();

int front,rear;

pointer root,s;

root=NULL; //置空二叉树

front=rear=0; //置空队列

//while(cin>>ch,ch!='!')

while(cin>>ch,ch!='!')

{

if(ch!='@') //非虚结点,建立新结点

{

s=new node;

s->data=ch;

s->lchild=s->rchild=NULL;

}

else s=NULL;

rear++;

Q[rear]=s; //不管结点是否为虚都要入队

if(rear==1) { root=s; front=1; } //第一个点是根,要修改头指针,他不是孩子

else if(s && Q[front]) //孩子和双亲都不是虚结点

if(rear%2==0) Q[front]->lchild=s; // rear是偶数,新结点是左孩子

else

{

Q[front]->rchild=s; //rear 是奇数,新结点是右孩子

front++;

}

}

return root;

}

/* 交换左右子数 */

void exchange(bitree t)

{

pointer p;

if(t==NULL) return; //空树,直接返回

p=t->lchild; t->lchild=t->rchild; t->rchild=p; //交换

exchange(t->rchild); //遍历原左子树

exchange(t->lchild); //遍历原右子树

}

/* 二叉树的先根遍历 */

void preorder(bitree t) //先根遍历

{

if(t==NULL)

return;

cout<data<<" "; //先访问跟

preorder(t->lchild); //先根遍历左子树

preorder(t->rchild); //先根遍历右子树

flag=1;

}

/*void stop()

{

// cout<<"\n按任意键继续:";

getch();

}*/

void main()

{

bitree T=NULL; int ch;

cout<<"首先层次遍历序列生成二叉树,请输入结点数据(输入'@'为虚结点,输入'!'结束):\n";

T=level_creat();

if(T==NULL)

{

cout<<"\n\n\t\t二叉树生成失败!\n";

cout<<"\n按任意键返回菜单:";

getch();

}

else

{

cout<<"\n\n\t\t二叉树生成成功!\n";

cout<<"\n按任意键返回菜单:";

getch();

}

AA: do{

system("cls"); //调用清屏函数

cout<<"\n";

cout<<"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓";

cout<<"┃二叉树左右子树交┃";

cout<<"┣━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━┫";

cout<<"┃\t\t1.重新建立二叉树┃";

cout<<"┃\t\t2.交换左右子数┃";

cout<<"┃\t\t3.先根遍历二叉树┃";

cout<<"┃\t\t0.退出

┃";

cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛";

cout<<"\t\t请选择数字(0-3):";

cin>>ch;

switch(ch)

{

case 0: break;

case 1: T=level_creat();

system("cls");

cout<<"\n\n\t\t二叉树生成成功!\n";

cout<<"\n按任意键返回菜单:";

getch();

break;

case 2: exchange(T);

cout<<"\n\n\t\t左右子树交换成功!\n";

cout<<"\n按任意键返回菜单:";

getch();

break;

case 3: cout<<"\n先根遍历二叉树结果:\n";

preorder(T);

if(flag)

{

cout<<"\n\n按任意键返回菜单:";

getch();

}

cout<

break;

default:cout<<"\n\n\t\t您输入错误!请重新输入:\n\n";

getch();

goto AA;

}

}while(ch!=0);

}

现代交换技术课程设计报告

现代交换技术课程设计报告

目录 一、设计任务书 (1) 二、电路设计框图及系统概述 (4) 三、各单元电路的原理及功能说明 (8) 四、波形仿真过程及结果分析 (11) 五、课程设计心得体会 (13) 六、参考文献 (14) 七、元器件列表 (14)

一、设计任务书 1 研究内容及研究意义 研究内容 现代通信网由三大部分构成,分别是终端设备、传输设备和交换设备,其中交换设备是整个通信网的核心,它的基本功能是实现将连接到交换设备的所有信号进行汇集、转发和分配,从而完成信息的交换。电路交换是在电话网络中使用的一种交换技术,而数字程控交换机是电路交换机的典型代表。本课程设计要求设计一简易数字交换网络,在通信系统原理实验箱的硬件基础上,完成类似PCM系统有关的时隙内容在时间位置上的搬移,即时隙交换。研究意义 现代交换技术理论课上,我们对数字交换网络的基本结构和工作原理等进行了系统学习,在此基础上设计一个数字交换网络实现时隙的交换,不仅可以让我们从实践中加深对交换思想理论的理解,还能让我们对数字电路和元件以及通信原理的有关内容知识进行有效的巩固,达到温故而知新的效果。通过现代交换技术课程设计,我们可以达到理论知识与实践能力的整合与统一,加强对仿真软件的掌握程度,对我们课程理论学习能力以及实验操作水平的提高有着重要的意义,也培养了我们的设计能力和创新意识。 2 设计原理及设计要求 设计原理 在PCM30/32路数字传输系统中,每个样值均编8位码,一帧分为32个时隙,通常用TS0~TS31来表示,其中30个时隙用于30路话音业务。TS0为帧定位时隙,用于接收分路做帧同步用。TS16时隙用于信令信号传输,完成信令的接续。TS1~TS15以及TS17~TS31s时隙用于话音业务,分别对应第1路到第15路和第16路到第30路话音信号。 在通信系统原理实验箱中,信道传输上采用了类似TDM的传输方式、定长组帧、帧定位码和信息格式。实验电路设计了一帧共含有4个时隙,分别用TS0~TS3表示,每个时隙含8比特码,依次为帧同步时隙、话路时隙、开关信号时隙和M序列时隙。四个时隙复合成一个256kbps数据流,在同一信道上传输。 另一方面,数字交换实质上就是把与PCM系统有关的时隙内容在时间位置上进行搬移,因此数字交换也叫时隙交换。时间接线器可以完成同一条母线不同时隙之间的交换,工作方式有输入控制和输出控制方式两种。本课程设计要求设计一个数字交换电路,具体要通过设计数字电路,实现对帧同步时隙的定位检测,并通过控制端控制实现话路时隙、开关时隙和

现代交换原理课程设计

课程设计报告 课程设计题目:摘挂机检验原理与设计分析 学号:2 学生姓名:刘 专业:通信工程 班级: 指导教师: 2016年12 月17 日

目录 一、设计的目的与要求·························································· 二、设计目的··································································· 三、设计内容和目的···························································· 四、源代码····································································· 五、结果····································································· 六、心得······································································

一、设计的目的与要求 1、教学目的 综合运用所学过的《现代交换原理》课程知识,进行现代通信网交换技术相关的课题设计研究与分析,掌握现代通信网交换节点所采用的技术,硬件组成及软件设计方法。 2、教学要求 从课程设计的目的出发,在实验室现代程控交换原理实验箱或者计算机上进行现代通信网交换技术相关的课题设计研究与分析。掌握相关课题的工作原理,深入研究相关课题系统组成及程序设计与分析 (1)主题鲜明,思路清晰,原理分析透彻,技术实现方案合理可靠; (2)按照现代交换原理相关研究课题技术的原理及系统组成,完成从理论分析、系统软硬件组成、程序设计,调试及功能分析的全过程。 二、设计目的 摘挂机检测实验用来考查学生对摘挂机检测原理的掌握情况。 三、设计内容和步骤 1、设计原理 设用户在挂机状态时扫描输出为“0”,用户在摘机状态时扫描输出为“1”,摘挂机扫描程序的执行周期为200ms,那么摘机识别,就是在200ms的周期性扫描中找到从“0”到“1”的变化点,挂机识别就是在200ms的周期性扫描中找到从“1”到“0”的变化点,该原理的示意图如下所示:

二叉排序树的建立及遍历的实现

课程设计任务书 题目: 二叉排序树的建立及遍历的实现 初始条件: 理论:学习了《数据结构》课程,掌握了基本的数据结构和常用的算法; 实践:计算机技术系实验室提供计算机及软件开发环境。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、系统应具备的功能: (1)建立二叉排序树; (2)中序遍历二叉排序树并输出排序结果; 2、数据结构设计; 3、主要算法设计; 4、编程及上机实现; 5、撰写课程设计报告,包括: (1)设计题目; (2)摘要和关键字; (3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试、设计体会等; (4)结束语; (5)参考文献。 时间安排:2007年7月2日-7日(第18周) 7月2日查阅资料 7月3日系统设计,数据结构设计,算法设计 7月4日-5日编程并上机调试7月6日撰写报告 7月7日验收程序,提交设计报告书。 指导教师签名: 2007年7月2日 系主任(或责任教师)签名: 2007年7月2日 排序二叉树的建立及其遍历的实现

摘要:我所设计的课题为排序二叉树的建立及其遍历的实现,它的主要功能是将输入的数据 组合成排序二叉树,并进行,先序,中序和后序遍历。设计该课题采用了C语言程序设计,简洁而方便,它主要运用了建立函数,调用函数,建立递归函数等等方面来进行设计。 关键字:排序二叉树,先序遍历,中序遍历,后序遍历 0.引言 我所设计的题目为排序二叉树的建立及其遍历的实现。排序二叉树或是一棵空树;或是具有以下性质的二叉树:(1)若它的左子树不空,则作子树上所有的结点的值均小于它的根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)它的左,右子树也分别为二叉排序树。对排序二叉树的建立需知道其定义及其通过插入结点来建立排序二叉树,遍历及其输出结果。 该设计根据输入的数据进行建立排序二叉树。对排序二叉树的遍历,其关键是运用递归 调用,这将极大的方便算法设计。 1.需求分析 建立排序二叉树,主要是需要建立节点用来存储输入的数据,需要建立函数用来创造排序二叉树,在函数内,需要进行数据比较决定数据放在左子树还是右子树。在遍历二叉树中,需要建立递归函数进行遍历。 该题目包含两方面的内容,一为排序二叉树的建立;二为排序二叉树的遍历,包括先序遍历,中序遍历和后序遍历。排序二叉树的建立主要运用了循环语句和递归语句进行,对遍历算法运用了递归语句来进行。 2.数据结构设计 本题目主要会用到建立结点,构造指针变量,插入结点函数和建立排序二叉树函数,求深度函数,以及先序遍历函数,中序遍历函数和后序遍历函数,还有一些常用的输入输出语句。对建立的函明确其作用,先理清函数内部的程序以及算法在将其应用到整个程序中,在建立排序二叉树时,主要用到建立节点函数,建立树函数,深度函数,在遍历树是,用到先序遍历函数,中序遍历函数和后序遍历函数。

网络课程设计交换网络三级结构综合设计

信息科学与工程学院课程设计任务书题目:交换网络三级结构综合设计 姓名: 专业:计算机科学与技术 课程:网络设备互联 指导教师:职称:讲师 完成时间:2013年6月----2013年7 月 信息科学与工程学院制

课程设计任务书及成绩评定 课程设计的任务和具体要求 ●进一步巩固和加深“网络设备互联”课程的基本知识 ●了解网络设备互联知识在实际中的应用。 ●综合运用“网络设备互联”课程和先修课程的理论及生产 实际知识去分析和解决问题,进行的相关训练。 ●通过本学期的学习来构建交换网络的三级结构,从而实现 相关的功能。 指导教师签字:、日期: 指导教师评语 成绩:指导教师签字:日期:

课程设计所需软件、硬件等 软件:WindowsXP/7、Internet信息服务管理器等 硬件:二层交换机RG-S2126 2台, 三层交换机RG-S3550 2台路由器RG-S20 2台计算机1台 课程设计进度计划 起至日期工作内容备注 6月24日-6月25日6月25日-6月27日6月27日-6月29日分析课程设计任务要求并合理安排 工作 进行设备配置及测设验证 编写课程设计任务书及排版 认真仔细的 分析搜索的 资料 参考文献、资料索引 序号文献、资料名称编著者出版单位 [1] 网络设备互联—实验指南高峡编著科学出版社 [2] 计算机网络(第5版)谢希仁著电子工业出版社

目录 1 实验目的 (1) 2 背景描述 (1) 3 需求分析 (1) 4 实验拓补 (1) 5 客户需求 (2) 6 实验拓补说明 (2) 7 IP地址规划 (3) 8 详细设计 (3) 8.1 配置接入层交换机 (3) 8.2 配置汇聚层交换机 (4) 8.3 配置路由器 (6) 8.4 配置FTP服务器 (8) 8.5 验证测试 (10) 9 心得体会 (25) 参考文献 (25)

企业网络规划路由与交换技术课程设计.doc

一.工程概况 公司有一栋独立大楼,高4层,每层面积2000平方米。由研发技术部(成员60人,分成硬件(25)和软件(35)2大部门)、生产部(主要产品是手持电子产品,110人,管理人员10人)和市场部(30个销售,10个工程师)组成。还有一般企业都有的后勤部门和财务部门等。公司管理层组成:董事会,1个总经理,3个副总经理。3个总监。 二.需求分析 1. 用户需求 公司网络需求主要有以下几点: (1).1层为市场部和后勤部; 2层为生产部; 3层为研发技术部; 4层为公司内部管理人员办公室和财务部。 (2). 公司内部的计算机间采用公司内部的电子邮件系统和IM(即时通讯) 系统联系。 (3). 公司内部网络与Interner之间采用100M光纤接入。 (4). 公司内部架设Web服务器,对Internet提供公司的形象和电子商务服 务。 (5). 财务部可以访问财务数据服务器,其他部门不能访问财务数据服务器。 (6). 为保证安全,Internet与公司内部网络间应该采用防护措施,防止外界 对内部网络未经授权的访问。 2.稳定可靠需求 现代企业的网络应具有更全面的可靠性设计,以实现网络通信的实时畅通,保障企业生产运营的正常进行。随着企业各种业务应用逐渐转移到计算机网络上来,网络通信的无中断运行已经成为保证企业正常生产运营的关键。现代大型企业网络在可靠性设计方面主要应从以下3个方面考虑。 (1)、设备的可靠性设计:不仅要考察网络设备是否实现了关键部件的冗余

备份,还要从网络设备整体设计架构、处理引擎种类等多方面去考察。 (2)、业务的可靠性设计:网络设备在故障倒换过程中,是否对业务的正常运行有影响。 (3)、链路的可靠性设计:以太网的链路安全来自于多路径选择,所以在企业网络建设时,要考虑网络设备是否能够提供有效的链路自愈手段,以及快速重路由协议的支持。 三.网络系统设计规划 1. 网络设计总体要求 灵活性:系统具有较高的适应变化的能力。当用户的物理位置发生变化时可以在非常简便的调整下重新连接;布线系统且具有一定的扩展能力。 实用性:系统具有低成本、使用方便、简单、易扩展的特点。布线系统应在满足各种需求的情况下尽可能降低材料成本;布线系统具有操作简单、使用方便、易于扩展的特点。 可扩展性:网络结构和系统结构模块化,易于扩充,适应未来发展。 高可靠性:网络建设应立足于现有成熟的技术,具有高可靠性,并考虑主干设备的备份 2. 网络IP地址规划及VLAN划分 企业网计划使用私有的C类IP地址。IP地址分配原则如下:集团使用IPv4地址方案。

课程设计二叉树

安徽理工大学 数据结构 课程设计说明书题目: 二叉树的遍历集成 院系:计算机科学与工程学院 专业班级: 学号: 学生姓名: 指导教师: 2015年 01 月 9 日

安徽理工大学课程设计(论文)任务书 计算机科学与工程学院信息安全教研室 2014年 12 月 18 日

目录 1.需求分析 (1) 2、总体设计 (1) 2.1 程序目录 (1) 2.2 算法流程 (3) 3、详细设计 (3) 3.1 界面设计 (3) 3.2 详细代码设计 (5) 3.3 调试分析 (10) 4、总结 (15) 参考文献 (16) 代码详述 (16)

1.需求分析 “数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心,而且也成为其他理工类学科必修课程,所谓”数据结构”是相互之间存在一种或多种特定关系的数据元素的集合.数据元素之间的相互关系成为结构,结构一般有线性结构,树形结构,图状结构,本程序所做的就是树形结构的二叉树的遍历算法和线索化查找. 本程序使用VC6.0++编写,具体实现功能有二叉树的遍历,包括先序遍历,中序遍历,后序遍历的递归算法以及非递归算法.另外本程序还有可线索化二叉树的功能,由此可以得到二叉树某个节点的前驱和后继. 题目要求为: 1.实现二叉树的各种遍历。包括先序遍历、中序遍历、后序遍历的递归和非递归算法、以及层次遍历。 2.要求能查找任一结点在某种遍历序列中的前驱和后继。 3.界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。 由小组一起制作,本人做小组汇总工作,并在基础上加了查找某个节点是否存在二叉树,以及求二叉树总节点数等一些简单功能 2、总体设计 2.1 程序目录 (1)typedef struct node 二叉树的定义,包含数据域data,左孩子lchild,右孩子rchild,若二叉树为空,则头结

高级路由与交换技术课程设计

高级路由与交换技术课程设计 题目:某校园专用网设计方案 专业:网络工程 班级:1122103 学号: 姓名:谭君 指导老师:何璘琳 2013年12月13日 ??一设计目的及要求 校园网的建设是现代教育发展的必然趋势,建设校园网不仅能够更加合理有效地利用学校现有的各种资源,而且为学校未来的不断发展奠定了基础,使之能够适合信息时代的要求。校园网络的建设及其与Internet的互联,已经成为教育领域信息化建设的当务之急。 假设学校有四个部门:学生宿舍、教师宿舍、办公楼、教学楼、图书馆。共100台主机。各部门的计算机分配如表: 部门计算机数量(台)24口交换机(台) 学生宿舍40 2 教师宿舍10 1 办公楼20 1 教学楼10 1 图书馆20 1 二设计分析 校园网不只是涉及技术方面,而是包括网络设施、应用平台、信息资源、专业应用、人员素质等众多成份的综合化以及信息化教学环境系统。因此,在总体上如何筹划、组织网络建设和开发应用的设计思想是校园网建设中的最重要的问题。

总体设计是校园网建设的总体思路和工程蓝图,是搞好校园网建设的核心任务。进行校园网总体设计,首先是进行对象研究和需求调查,弄清学校的性质、任务和改革发展的特点,对学校的信息化环境进行准确的描述,明确系统建设的需求和条件;其次,在应用需求分析的基础上,确定学校Intranet服务类型,进而确定系统建设的具体目标,包括网络设施、站点设置、开发应用和管理等方面的目标;第三是确定网络拓朴结构和功能,根据应用需求、建设目标和学校主要建筑分布特点,进行系统分析和设计;第四,确定技术设计的原则要求,如在技术选型、布线设计、设备选择等方面的标准和要求;第五,规划安排校园网建设的实施步骤。 三绘制拓扑结构图 四详细步骤 1 拓扑图如上 2 设备选型 路由器:3台 交换机:8台 PC机:100台 电缆线:若干米 网钳:一把 测网器:一个 3 综合布线系统 布线系统是网络实现的基础,选择时应主要以带宽和数据传输速率为衡量标准,同时考虑其发展余地、投资费用、安装质量及二次开发成本。综合布线系统是一个用于语音、数据、影像和其他信息技术的标准结构化布线系统,它由许多部件组成,主要有传输介质、线路管理硬件、连接器、插座、插头、适配器、传输电子线路、电气保护设施等,由这些部件构造各种子系统:工作区子系统、水平布线子系统、干线子系统、设备间子系统、管理子系统、建筑群子系统。 布线系统,它应该能支持话音、图形、图像、数据多媒体、安全监控、传感等各种信息的传输,支持UTP、光纤、STP、同轴电缆等各种传输载体,支持多用户、多类型产品的应用,支持高速网络的应用,为校园网通信系统提供有力支撑系统硬件。 另外校园网硬件设备中还包括服务器、PC机、大容量存储设备和投影仪、电视墙、摄像机等。在建设校园网的过程中应根据学校具体情况,选择不同性能与价格的硬件

现代交换原理时分复用课程设计

课程设计报告 课程设计题目:时分复用与时分交换原理 学号:201420130530 学生姓名:叶礼鹏 专业:通信工程 班级:1421303 指导教师:涂其远 2016年12 月16日

目录 第一章基本原理................................................................. 1.1 时分复用................................................................ 1.2时分交换................................................................. 第二章各模块功能及工作原理分析................................................. 2.1 MT8980引脚功能.......................................................... 2.2用MT8980实现时分交换.................................................... 第三章实验结果及分析 ......................................................... 第四章课设总结.................................................................

第一章基本原理 1.1 时分复用 时分复用TDM是采用同一物理连接的不同时段来传输不同的信号,也能达到多路传输的目的。时分多路复用以时间作为信号分割的参量,故必须使各路信号在时间轴上互不重叠。时分多路复用适用于数字信号的传输。由于信道的位传输率超过每一路信号的数据传输率,因此可将信道按时间分成若干片段轮换地给多个信号使用。每一时间片由复用的一个信号单独占用,在规定的时间内,多个数字信号都可按要求传输到达,从而也实现了一条物理信道上传输多个数字信号。 时分复用是建立在抽样定理基础上的,因为抽样定理使连续的基带信号有可能被在时间上离散出现的抽样脉冲所代替。这样,当抽样脉冲占据较短时间时,在抽样脉冲之间就留出了时间空隙。利用这些空隙便可以传输其他信号的抽样值,因此,就可能用一条信道同时传送若干个基带信号,并且每一个抽样值占用的时间越短,能够传输的路数也就越多。此外,时分复用通信系统有两个突出的优点,一是多路信号的汇合与分路都是数字电路,简单、可靠;二是时分复用通信系统对非线性失真的要求比较低。然而,时分复用系统对信道中时钟相位抖动及接收端与发送端的时钟同步问题提出了较高的要求。所谓同步是指接收端能正确地从数据流中识别各路序号。为此,必须在每帧内加上标志信号(即帧同步信号),它可以是一组特定的码组,也可以是特定宽度的脉冲。 在实际通信系统中还必须传递信令以建立通信连接,如传送电话通信中的占线、摘机与挂机信号以及振铃信号等信令。上述所有信号都是时间分割,按某种固定方式排列起来,称为帧结构。采用时分复用的数字通信系统,在国际上已逐步建立其标准。原则上是把一定路数电话语音复合成一个标准数据流(称为基群),然后再把基群数据流采用同步或准同步数字复接技术,汇合成更高速的数据信号,复接后的序列中按传输速率不同,分别成为一次群、二次群、三次群、四次群等等。

数据结构课程设计二叉树遍历查找

课程设计任务书 2011 —2012 学年第一学期 电子与信息工程系计算机专业09计算机一班班级 课程设计名称:数据结构课程设计 设计题目:排序二叉树的遍历 完成期限:自2012 年 1 月 2 日至2012 年 1 月 6 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 排序二叉树的遍历(用递归或非递归的方法都可以) 1)问题描述 输入树的各个结点,建立排序二叉树,对建立的排序二叉树进行层次、先序、中序和后序遍历并统计该二叉树中叶子结点的数目。 2)基本要求 (1)用菜单实现 (2)能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列和叶子结点的数目。 四、参考文献

1.王红梅.数据结构.清华大学出版社 2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社 #include using namespace std; int num; //-----------排序二叉树节点--------------// struct tree //定义二叉树节点结构 { int data; //节点数据域 tree *right,*left; //右,左子树指针 }; //-----------排序二叉树类----------------// class Btree { tree *root;//根节点 public: Btree()

二叉树遍历课程设计心得【模版】

目录 一.选题背景 (1) 二.问题描述 (1) 三.概要设计 (2) 3.1.创建二叉树 (2) 3.2.二叉树的非递归前序遍历示意图 (2) 3.3.二叉树的非递归中序遍历示意图 (2) 3.4.二叉树的后序非递归遍历示意图 (3) 四.详细设计 (3) 4.1创建二叉树 (3) 4.2二叉树的非递归前序遍历算法 (3) 4.3二叉树的非递归中序遍历算法 (4) 4.4二叉树的非递归后序遍历算法 (5) 五.测试数据与分析 (6) 六.源代码 (6) 总结 (10) 参考文献: (11)

一.选题背景 二叉树的链式存储结构是用指针建立二叉树中结点之间的关系。二叉链存储结构的每个结点包含三个域,分别是数据域,左孩子指针域,右孩子指针域。因此每个结点为 由二叉树的定义知可把其遍历设计成递归算法。共有前序遍历、中序遍历、后序遍历。可先用这三种遍历输出二叉树的结点。 然而所有递归算法都可以借助堆栈转换成为非递归算法。以前序遍历为例,它要求首先要访问根节点,然后前序遍历左子树和前序遍历右子树。特点在于所有未被访问的节点中,最后访问结点的左子树的根结点将最先被访问,这与堆栈的特点相吻合。因此可借助堆栈实现二叉树的非递归遍历。将输出结果与递归结果比较来检验正确性。。 二.问题描述 对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。画出搜索顺序示意图。

三.概要设计 3.1.创建二叉树 3.2.二叉树的非递归前序遍历示意图 图3.2二叉树前序遍历示意图3.3.二叉树的非递归中序遍历示意图 图3.3二叉树中序遍历示意图

二叉树遍历课程设计】汇编

数据结构程序设计报告 学院: 班级: 学号: 姓名:

实验名称:二叉树的建立与遍历 一、实验目的: 1.掌握二叉树的二叉链表存储结构; 2.掌握二叉树创建方法; 3.掌握二叉树的先序、中序、后序的递归实现方法。 二、实验内容和要求: 创建二叉树,分别对该二叉树进行先序、中序、后序遍历,并输出遍历结果。 三、叉树的建立与遍历代码如下: #include #include struct tnode//结点结构体 { char data; struct tnode *lchild,*rchild; }; typedef struct tnode TNODE; TNODE *creat(void) { TNODE *root,*p; TNODE *queue[50];

int front=0,rear=-1,counter=0;//初始队列中需要的变量front、rear和计数器counter char ch; printf("建立二叉树,请输入结点:(#表示虚节点,!表示结束)\n"); ch=getchar(); while(ch!='!') { if(ch!='#') { p=(TNODE *)malloc(sizeof(TNODE)); p->data=ch; p->lchild=NULL; p->rchild=NULL; rear++; queue[rear]=p;//把非#的元素入队 if(rear==0)//如果是第一个元素,则作为根节点 { root=p; counter++; } else { if(counter%2==1)//奇数时与其双亲的左子树连接 { queue[front]->lchild=p; } if(counter%2==0)//偶数时与其双亲的右子树连接 { queue[front]->rchild=p;

路由与交换课程教学设计

《路由与交换技术》课程设计(题目:集团企业网络的设计与实现) 姓名:XXX 学号:XXX 专业:网络工程 院系:XXX学院 完成时间:2013-11-13

集团企业网络的设计与实现 目录 1 绪论 (1) 2需求分析 (1) 3内容与方法 (1) 3.1设计场景: (2) 3.2设计要求: (2) 3.3设计分析: (2) 3.4设计步骤: (3) 3.4.1网络拓扑 (3) 3.4.2 网络配置 (4) 3.5 设计结果: (7) 总结........................................................................................ 错误!未定义书签。参考文献................................................................................ 错误!未定义书签。

1 绪论 《路由与交换技术》是计算机与信息工程学院网络工程专业的必修课程,内容涉及路由器与交换机的综合配置、对实际案例的规划和设计等。在前阶段的学习中,进行了路由器和交换机的各个知识点的专项练习,在基础知识掌握之后,需要一个相对完整的时间进行知识点的融会贯通,并能针对实际案例进行综合性地规划、设计和配置来灵活运用这些知识。本课程设计为学生提供了一个动手动脑、独立实践的机会。通过该课程设计,使学生能够更好地掌握路由器和交换机的原理和配置;能够将课本上的理论知识和实践开发有机的结合起来;能够锻炼学生的分析问题、解决问题的能力,从而加深对这门课的理解,在理解相关设备的原理知识的同时又提高学生的实际操作能力。 2需求分析 根据公司内部管理模式和要求以及使用网络的安全性等,作出以下需求与分析,以确保公司能够方便快捷的管理和使用网络的安全性。 (1).路由器的基本配置,对路由器设置使能密码,加密使能密码,虚拟终端线密码,并能telnet登录; (2).对交换机进行基本配置,划分VLAN

时分交换实验报告

实验报告 课程名称: 实验项目: 姓名: 专业: 班级: 学号:程控交换原理时分交换(mt8980)实验网络工程网络 计算机科学与技术学院 实验教学中心 2014年 5 月 5 日 一、实验目的 1.掌握程控时分交换网络的基本原理; 2.了解mt8980芯片的工作原理和使用方法。 二、实验内容 1.理解时分交换原理,利用时分交换网络进行两部电话单机通话,记录工作过程。 三、实验步骤 1.在关电的情况下,确认发送增益跳线k301、k401等均设置为1-2相连左侧;交换网络接口插上“时分mt8980”交换模块,保管好其它模块; 2.打开实验箱右侧电源开关,电源指示灯亮,系统开始工作; 3.通过薄膜开关将交换工作方式设置在“时分mt8980”进行实验; 4.以电话a、电话b为例,分别接上电话单机; 5.四路数字电话用户的pcm编码输出测试点,即时分网络输入信号; tp304:电话a的pcm编码输出测试点,同步时隙脉冲测试点tp02; tp404:电话b的pcm编码输出测试点,同步时隙脉冲测试点tp03; tp504:电话c的pcm编码输出测试点,同步时隙脉冲测试点tp04; tp604:电话d的pcm编码输出测试点,同步时隙脉冲测试点tp05; 四路数字电话用户的pcm译码输入测试点,即时分网络输出信号。 tp305:电话a的pcm译码输入测试点,同步时隙脉冲测试点tp02; tp405:电话b的pcm译码输入测试点,同步时隙脉冲测试点tp03; tp505:电话c的pcm译码输入测试点,同步时隙脉冲测试点tp04; tp605:电话d的pcm译码输入测试点,同步时隙脉冲测试点tp05。 注意:现每个pcm收发测试点测得的波形已是时分复用后波形,测量时注意对比各路pcm 数据输出的同步时隙脉冲。 6.双踪示波器同时测试tp304、tp405两点或tp305、tp404两点,是否有波形,按键说话时是否有变化; 7.示波器两探头放在tp304、tp405两点上。电话a摘机,拨号49,同时观察示波器,哪个探头能测到波形; 8.两路电话用户间的正常呼叫,两路电话正常通话。此时,按键或说话,同时观察示波器,哪个探头测到的波形,波形是否一样; 9.更换其它电话呼叫组合,根据步骤5中列出的测量点说明,验证时分交换网络mt8980的工作情况; 10.测试波形时,注意时隙脉冲与数据的时隙位置对比,时隙脉冲与时隙脉冲的位置对比,数据与数据的对比。 四、实验结果

数据结构 课程设计 排序二叉树

学号 数据结构课程设计 设计说明书 排序二叉树的遍历 起止日期:2011 年12月12日至2011 年12月16日 学生姓名 班级 成绩 指导教师(签字) 电子与信息工程系 2011年12月16日

天津城市建设学院 课程设计任务书 2011 —2012 学年第二学期 电子与信息工程系软件工程专业班级 课程设计名称:数据结构课程设计 设计题目:排序二叉树的遍历 完成期限:自2011 年12月12 日至2011 年12月16 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 排序二叉树的遍历(用递归或非递归的方法都可以) 1)问题描述 输入树的各个结点,建立排序二叉树,对建立的排序二叉树进行层次、先序、中序和后序遍历并统计该二叉树中叶子结点的数目。 2)基本要求 (1)用菜单实现

(2)能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列和叶子结点的数目。 四、参考文献 1.王红梅.数据结构.清华大学出版社 2.王红梅.数据结构学习辅导与实验指导.清华大学出版社 3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社 指导教师(签字): 教研室主任(签字): 批准日期: 2011 年 12 月 17 日 主要内容: 一、需求分析: 输入树的各个结点,建立排序二叉树,对建立的排序二叉树进行层次、先序、中序和后序遍历并统计该二叉树中叶子结点的数目。 我自己的思想:首先设想把源程序分成头文件,调用和主函数三部分。在头文件中申明类和定义结构体,把先序,中序,后序,层次和叶子节点数的函数定义在类中。然后在调用文件中,把几个函数的实现定义写在里面。最后在主函数中把输出结果以菜单的样式输出来的方式写完主函数程序。实现的过程是先想好自己要输入的是什么,然后通过输入节点制,判断其是否是满足前序遍历,满足则可以实现下后面的功能。 二、问题求解: 现实中的问题:给同学排队问题。 层次是从头开始每一层一层的排,然后分别记号码。 前序是先从最上面的那一个开始往左手边开始排,排之前先计算好人数,然后开始排,排玩左边排右边。 中序是先从最左边开始,然后左斜上角,然后右下角,再左斜上角,直到最上层为止,然后安这个顺序继续排右边的。 后序是先从最左边开始的,左边的一次排过来,然后直接排右边的,也是安依次的顺序,最后才是最上层的。

交换原理课程设计说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2010年春季学期 交换原理课程设计 题目: DSN网络设计 专业班级: 07级通信工程(3)班 姓名: 陈晓莉 学号: 07250312 指导教师: 薛建彬 成绩:

中文摘要 数字交换机的话路系统有数字交换网络和各种终端设备组成。它的主要作用是提供各个终端设备之间的连接通路和实现交换机与外部环境的相互配合。数字交换机采用程控时分交换技术,传输和交换的是PCM化的数字信息。 数字交换网络是数字交换的核心,交换机的容量主要取决于交换网络的大小和处理机系统的呼叫处理能力。数字交换网络处于系统结构的中心,它为各种终端模块提供接续通路,也为终端处理单元和辅助处理单元中的微处理机之间传递控制信息提供通路。 本课程设计掌握DSE的工作原理和DSN的组网规则,熟练运用基本设计方法进行系统设计,实现5万用户(话务量:0.02爱尔兰/用户)的电信级DSN网络图纸设计。 关键字:DSN;DSE;话务量

目录 前言................................................................ - 1 - 第1章设计任务及要求................................................. - 2 - 1.1 目的及意义................................................... - 2 - 1.2 设计任务及主要技术指标和要求................................. - 2 - 1.3 内容和要求................................................... - 2 - 第2章数字交换单元(DSE)............................................ - 3 - 2.1 DSE的结构.................................................... - 3 - 2.2 交换机内帧格式、信道字和选择命令.............................. - 5 - 2.3 DSE的工作原理................................................. - 7 - 第3章数字交换网络(DSN)............................................ - 9 - 3.1 DSN的结构..................................................... - 9 - 3.2 DSN的工作原理................................................ - 11 - 第4章 DSN网络设计.................................................. - 13 - 4.1 总体硬件系统................................................. - 13 - 4.2 数字交换机的接口............................................. - 15 - 4.3 DSN的扩充................................................... - 17 - 参考文献............................................................. - 19 - 总结................................................................ - 20 -

现代交换技术课程设计)

现代交换技术课程设计 ----镇原中学校园网络设计方案 学院:电子与信息工程学院 班级:通信工程072班 学号:200709115 姓名:慕博

镇原中学校园网络设计方案 目录 第1章、系统分析 1.1建设校园网的重要性和必要性; 1.2网络设计思想及原则; 1.2.1系统问题与用户需求 1.2.2校园网建网要求 1.2.3校园网建网原则 第2章、网络设计方案及设备选择 2.1交大校园网的设计需求; 2.2网络设计方案说明; 2.2.1校园主干网技术的选择 2.2.2中心机房设计 2.2.3网络拓扑结构 2.3设备的比较及选择; 2.4网络拓扑图。 第3章、网络系统报价 3.1路由器主要参数及价格 3.2交换机主要参数及价格

3.3防火墙主要参数及价格 3.4服务器主要参数及价格 3.5网络设计综合报价 第4章、结束语 参考文献 第1章系统分析 1.1建设校园网的重要性和必要性 在计算机技术和通信技术结合下,网络技术得到了飞速的发展。如今,不仅计算机已经和网络紧密结合,整个社会都不可能脱离网络而存在。网络技术已经成为现代信息技术的主流,人们对网络的认识也随着网络应用的逐渐普及而迅速改变。在不久的将来,网络必将成为和电话一样通用的工具,成为人们生活、工作、学习中必不可少的一部分。 近年来,学校的教学和管理工作不断向着信息处理计算机化、信息交流网络化、信息管理数据库化、信息服务电子化方向发展。形象化、交互性的教学以及海量的教学资源,使计算机网络技术在学校管理和辅助教学、科研活动中显示出其独特的优势,同时学校网络承载着多样的网络应用:网络下载、视频点播、网络聊天、专项课题研究、网络化教学,校园网络的建设势在必得。 校园网的建设是利用各种先进、成熟的网络技术和通信技术,采用统一的网络协议(TCP/IP),建设一个可实现各种综合网络应用的高速计算机网络系统,将各系、办

二叉树遍历-教学设计

二叉树遍历--教学设计 所属学科:数据库 专业:计算机(相关学科) 课程:数据结构 适用对象:大二上学期 本课所讲解的内容为二叉树遍历的三种基本方法和一种新颖的方法,所属学科为数据结构与算法。数据结构与算法是计算机专业的重要基础课,也是非计算机专业学生在大学生计算机等级考试中的课程之一,是一门集技术性、理论性和实践性于一体的课程。故本微课结合该课程特点,合理分配知识结构及节奏,并融充分合多媒体技术,算法描述清晰,展现内容丰富,适合课堂教学,也便于自学,可作为高等院校计算机专业和其他相关专业的参考资料,也可供参加全国普通高校非计算机专业大学生计算机等级考试(CCT)的学生及计算机爱好者学习和参考。 教学思想: 本课内容没有太过繁琐的语言,而是采用与多媒体充分融合的方式,并采用部分flash动画讲解遍历方法,生动、简洁、丰富地展现教学内容,教学思路清晰。提高了教学效率和教学质量,使学生在单位时间内能够学到更多的知识,更大幅度地提高学生各方面的能力,从而使学生获得良好的发展。 课程设计思路: 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。由于访问结点所做的操作依赖于具体的应用问题,所以我们对所讲解的问题分别举了一个容易和较难的例子,并配上一个难度适中的启发式的习题思考,在讲解过程中让学生充分理解,并学会运用不同的遍历方式解决问题,最后加上顺口溜式的总结,使学生对知识点更加融会贯通。 教学特色: 1、教学思路清晰。对于遍历的讲解是按照遍历概念、实例、动画演示、算法和 总结的步骤进行的,效果较好。 2、在视频讲解中,语言生动而富于亲和力,表达多样,激发学生兴趣。通过改 变教学内容的展现形式,更具独到趣味,激发学生内外动力来实现。 3、在课件中,我们的幻灯片布局简洁,动画紧随讲解节奏的推进而随时跟进, 生动形象,而又清晰明了地将所讲的知识点呈现出来,充分运用了现代多媒体教学方式的优点。 4、在PPT中我们插入了Flash动画,让遍历方法更加清晰明了,让学习者更容

程控交换课程设计报告

课程设计报告 课程设计名称:程控交换与通信网系:三系 学生姓名: 班级:11通信工程1班学号: 成绩: 指导教师:江晓明 开课时间:2014-2015学年第一学期

第一天 老师通过现场设备讲解,让我们理解C&C08交换机的构造和基本工作原理。 一、认识实验平台 CC08交换机是采用全数字三级控制方式。语音信号在整个过程中在实现全数字化。同时为满足对模拟信号认识的要求,也可以根据用户需要配置模拟中继板。本实验平台由如下六大部分组成:BAM后管理服务器、主控框、时钟框、中继框、用户框、实验用终端。 二、认识单板 C&C08MPU主处理机板 C&C08MPU是B型机平台所用的主控板,主控板是SM模块的核心控制部件,主要用于处理SM模块的各种业务,完成对主控框内其它单板的控制。 三、认识软件 C&C08的软件结构 C&C08的软件系统主要由主机(前台)软件和终端OAM(后台)软件两大部分构成, 主机软件是指运行于交换机主处理机的软件,它采用自顶而下和分层模块化的程序设计思想,主要由操作系统、通信处理模块、资源管理模块、呼叫处理模块、信令处理模块、数据库管理模块、维护管理模块等七部分组成。其中,操作系统为主机软件的内核,属系统级程序;其他软件模块则为基于操作系统之上的应用级程序。 若从虚拟机的概念出发,可将C&C08的主机软件分为多个级别,较低级别的软件模块同硬件平台相关联,较高级别的软件模块则独立于具体的硬件环境,各软件模块之间的通信由操作系统中的消息包管理程序负责完成。整个主机软件的层次结构如下图1-1所示。

图1-1 四.电话跟踪 点击“维护”-》“跟踪”-》“接续动态跟踪”,跟踪事例如下:1.电话为5550023呼叫5550022 图1-2接续动态跟踪(一)

相关文档
最新文档