毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
中国学术界和华人影视界X度空间理论初探(6)
3.2 数据库设计
图3.2.1 数据库设计图
系统初始时只有,movie和paper两张表,其余四张表均为自动生成。Movie和paper两张表是从网上搜集来的最原始的信息,包含了论文名和作者名单,电影名和演员名单,其中作者名单和演员名单的每个名字又逗号隔开,以方便程序对数据的分离。具体的表的字段和内容如下图所示。
图 3.2.2 论文及作者信息paper
图 3.2.3学者信息表author
图 3.2.4 学者与论文关系表mip
该表通过将paper表,将论文和学者一一对应起来,该表可以用于快速查询学者的发表的所有作品信息。
娱乐圈的数据库设计与上述同理。
图 3.2.5 电影及演员信息表movie
图 3.2.6 演员信息表actor
图 3.2.7 电影与演员关系表aim
3.3 程序详细设计
3.3.1 Graph类的构造
节点类型:
typedef struct
{
VertexType name; /* 存放节点名字*/
int belongto; /* 存放节点所归属的子图*/
}Vertex;
边类型:
typedef struct
{
VRType adj; /* 顶点关系类型,权值*/
InfoType *info; /* 该边相关信息的指针(可无) */
int belongto; /* 边所属子图 */
}ArcCell,AdjLine[MAX_VERTEX_NUM]; /* 边类型 */
typedef AdjLine *AdjMatrix;
图类型:
class Graph
public:
Vertex vex[MAX_VERTEX_NUM]; //作者或演员名字
CString record[MAX_VERTEX_NUM]; //文章或电影名称
CString names[MAX_VERTEX_NUM]; //用于存分离前的姓名字段
AdjMatrix arcs; /* 邻接矩阵*/
int vexnum,arcnum,recordnum,SGnum; /* 图的当前顶点数、弧数、连通子图个数*/
int SGvexnum[MAX_VERTEX_NUM]; /*存放子图节点数*/
重要函数:
函数Status LoadFromDb();//从数据库中加载数据并生成图
int LocateVex(CString u);//获得节点位置
void ShortestPath_FLOYD(PathMatrix *P,DistancMatrix *D);//普通模型下floyd算法实现
void ShortestPath_FLOYD_MIST(PathMatrix *P,DistancMatrix *D);//密集度模型下floyd算法实现
void LoadFromrecord(void);//从初始表中生成新表
void ShortestPath_DIJ(int v0,PROW *P,DROW *D);
void Yule_Load(); //加载娱乐圈数据
void DFSTraverse(); //图的深度优先遍历
以上为Graph类的结构,包括节点数组vex,边数组arcs,节点数vexnum,边数arcnum,子图个数SGnum,子图节点数SGvexnum等运算所需的基本数据。由于在时间和数据的限制,节点类型只包含了name和id的基本信息,但是为arcs边类型预留了Info指针可以指向更多的有效信息,以便扩展。
共6页:
上一页
1
2
3
4
5
6
下一页
上一篇:
基于Kinect的人体运动姿态捕捉和识别技术研究
下一篇:
社会标签系统挖掘研究中文博客标签及标签云图的自动生成研究
论利用ebXML和SOAP开发Web服务【2352字】
电子政务环境下公务员的...
用VB实现聊天讨论室和点對点會话【671字】
提高实时操作系统的实时...
嵌入式数据库典型技术―...
联结主义的连续记分IRT模...
使用http协议和winsockapi实现...
10万元能开儿童乐园吗,我...
国内外图像分割技术研究现状
AT89C52单片机的超声波测距...
医院财务风险因素分析及管理措施【2367字】
神经外科重症监护病房患...
C#学校科研管理系统的设计
承德市事业单位档案管理...
志愿者活动的调查问卷表
公寓空调设计任务书
中国学术生态细节考察《...