上海电力学院数据结构(C++)课程设计题 目: 综合实验16 社会网络分析系统的设计和实现(*)姓 名: XXX 学 号: 2012XXXX 院 系: 计算机科学与技术学院 专业年级: 信息安全 2012XXX 2014年 07月 08日目 录一、设计题目 1二、需求分析 11)运行环境(软、硬件环境) 12)输入的形式和输入值的范围 13)输出的形式描述 14)功能描述 15)测试数据 2三、概要设计 21)抽象数据类型定义描述 22)功能模块设计(如主程序模块设计) 53)模块层次调用关系图 5四、详细设计 6五、调试分析 12??问题&改进&补充 12??算法的时间空间复杂性分析 14??心得体会 14六、测试结果 15七、附录:程序设计源代码 161、设计题目社会网络分析系统的设计和实现二、需求分析1)运行环境(软、硬件环境)软件:MicrosoftVisualC++:能运行MicrosoftVisualC++:Intel酷睿i33217U;内存4G;操作系统Windows72)输入的形式和输入值的范围数据类型:整型(int)、字符型(char) 范围:(1~100)(A~Z)(1~100)(1~100)(人员数字代码人员数字代码权值)注:权值(1~100)即email数据举例:总人数8个、人员名称ABCDEFGH、人员数字代码12345678、关系总数15条、具体某一条关系1 2 9。3)、活跃人物、、)功能描述 ,利用数据结构课程中图中的理论,建立社会网络的邻接矩阵。,找出社会网络中核心人物、活跃人物和边缘人物。,分析社会网络的结构,找出小团体和联系小团体的桥接人物。。5)测试数据三、概要设计1)抽象数据类型定义描述(对各类的成员及成员函数进行抽象描述,参见书或ppt及实验)ADT Mgraph isData存放图中社会网络人物的一维数组vertex[maxsize]存放图中社会网络人物的关系的二维数组arc[maxsize][maxsize]图中人物总数vertexnum和关系总数,um标志数组visitedOperation◆Mgraph(构造函数)初始化值:社会网络中a[]人员名称,n总人数,e总关系数;标志顶点访问的数组visited[i]置0。动作:将键盘输入的值带入,调用有向网的创建函数CreateHW。◆CreateHW(创建有向网)输入:图的人数和关系数、存放图中人的数组、存放图中关系的数组前置条件:构造函数调用功能:创建有向网输出:无后置条件:有向网建立◆PrintGraph(输出邻接矩阵)输入:无前置条件:有向网已经建立功能:输出邻接矩阵输出:邻接矩阵后置条件:无◆Centre(核心人物)输入:无前置条件:有向网已经建立,设定核心人物的域值yu=20功能:找出社会网络的核心人物(计算每个顶点的入度,找度数大于域值的人物)输出:若找到则输出社会网络的核心人物,没有找到则输出“无”。后置条件:无◆Huoyue(活跃人物)输入:无前置条件:有向网已经建立,设定活跃人物的域值yu=10功能:找出社会网络的活跃人物(计算每个顶点的出度,找度数大于域值的人物)输出:若找到则输出社会网络的活跃人物,没有找到则输出“无”。后置条件:无◆Bianyuan(边缘人物)输入:无前置条件:有向网已经建立,设定边缘人物的域值yu=5功能:找出社会网络的边缘人物(计算每个顶点的出入度之和,找度数小于域值的人物)输出:若找到则输出社会网络的边缘人物,没有找到则输出“无”。后置条件:无◆quanzi(交往圈子)输入:输入一个人员的数字代码(用于查找该人员的交往圈子)前置条件:有向网已经建立功能:查找交往圈子(与指定人物之间有边的人物就是与该人物有联系的,这些人就构成了一个交往圈子)。输出:输出指定人物的交往圈子后置条件:无◆ADD(计算人员两两间的关系数)输入:无前置条件:有向网已经建立,给出两个人物的数字代码功能:计算指定人员两两间的联系数并返回(为查找小团体、桥接人做准备)输出:返回指定人员两两间的联系数后置条件:无◆BY(返回边缘人物数字代码)输入:无前置条件:有向网已经建立功能:找边缘人物并返回该人物数字代码(为查找小团体、桥接人做准备)输出:返回边缘人物的数字代码后置条件:无◆DFS(小团体)输入:无前置条件:有向
数据结构课程设计——社会网络分析系统的设计和实现 来自淘豆网www.taodocs.com转载请标明出处.