家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc...
1 课程设计介绍
1.1课程设计项目简介
家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书载体。家谱是中国特有的文化遗产,是中华民族的三大文献之一,属珍贵的人文资料,对于历史学,民俗学,人口学,社会学和经济学的深入研究,均有不可替代的重要功能。本项目对家谱管理进行简单的模拟,以实现查看祖先和子孙个人信息 、插入家族成员等功能。
1.2课设题目分析
本程序的实质是完成对家谱成员信息的建立、查找、插入等功能。可以首先定义家族成员的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。
本程序包含以下几个模块
建立家族关系树。此模块将构建一个家族关系,对数据初始化,构造关系树并录入数据一遍后续程序使用。
添加新成员。此模块将添加一个新成员,实现对家族关系的修改。
家族关系的查询。此模块将实现对家族不同关系的查询
主程序模块。此模块实现整个程序的进入和进出,以及各种初始化处理。
1.3课程题目原理与数据结构
因为家族的成员之间存在一个对多个的层次结构关系,所以不能用线性表来表示和实现。家谱从形状上看像一颗倒长的树,所以用树结构来表示比较合适。树形结构是一类非常重要的非线性数据结构,直观看来树是以分支关系定义的层次结构。
因此本课程设计可以采用的数据结构有树状结构和队列。树状结构采用三叉链表来实现,队列采用链式队列实现。
1.4功能分析说明图
2 分析与实现
2.1 基本数据结构和栈队的操作
2.1.1 结点基本数据结构和链队的定义
/*家族关系树实现*/
#include
#include
#include
#include
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR -1
#define INFEASIBLE -1
typedef char DataType;
#define MAXNUM 20
typedef struct TriTNode/* 树的三叉链表存储结构*/
{
DataType data[MAXNUM];
struct TriTNode *parent;/* 双亲*/
struct TriTNode *lchild;/* 左孩子*/
struct TriTNode *rchild;/* 右孩子*/
}TriTree;
typedef struct Node/* 队列的结点结构*/
{
TriTree *info;
struct Node *next;
}Node;
typedef struct/* 链接队列类型定义*/
{
struct Node *front; /* 头指针*/
struct Node *rear; /* 尾指针*/
}LinkQueue;
DataType fname[MAXNUM],family[50][MAXNUM];/* 全局变量*/
LinkQueue *LQueueCreateEmpty( )/* 建立一个空队列*/
{
LinkQueue *plqu=(LinkQueue *)malloc(sizeof(LinkQueue));
if (plqu!=NULL)
plqu->front=plqu->rear=NULL;
else
{
printf("内存不足!\n");
return NULL;
}
return plqu;
}
int LQueueIsEmpty(LinkQueue *plqu)/* 判断链接表示队列是否为空队列*/
{
return(plqu->front==NULL);
}
void LQueueEnQueue(LinkQueue *plqu,TriTree *x)/* 进队列*/
{
Node *p=(Node *)malloc(sizeof(Node));
if(p==NULL)
printf("内存分配失败!\n");
else
{
p->info=x;
p->next=NULL;
家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc...相关推荐
- 家族关系查询系统程序设计算法思路_【学习笔记】数据库基础 - 查询优化
目录 什么是数据库查询优化? 影响查询优化的因素 优化策略概述 查询优化的总体思路 语义优化 -- 内容等价性 语法优化(逻辑层优化)---语法等价性 执行优化(物理层优化) 查询优化在DBMS中的位 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计--
数据结构课程设计-- 家族关系查询系统 课 程 设 计 任 务 书 题目题目 家族关系查询系统家族关系查询系统 主要内容.基本要求.主要参考资料等主要内容.基本要求.主要参考资料等 主要内容主要内容 ...
- 家族关系查询系统程序设计算法思路_家族关系查询系统
家族关系查询系统 1.问题描述 建立家族关系数据库,实现对家族成员关系的相关查询. 2.基本要求 (1)建立家族关系并能存储到文件中: (2)实现家族成员的添加. (3)可以查询家族成员的双亲.祖先. ...
- 家族关系查询系统程序设计算法思路_七大查找算法(附C语言代码实现)
来自:Poll的笔记 - 博客园 链接:http://www.cnblogs.com/maybe2030/p/4715035.html 阅读目录 1.顺序查找 2.二分查找 3.插值查找 4.斐波那契 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统)
1 课程设计介绍 1 . 1 课程设计项目简介 家谱就是一种以表谱形式 , 记载一个以血缘关系为主体得 家族世系繁衍与重要人物事迹得特殊图书载体.家谱就是中国特 有得文化遗产,就是中华民族得三大文献之 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统)..doc...
数据结构课程设计(家族关系查询系统). 1 课程设计介绍 1.1课程设计项目简介 家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化遗产,是 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计方案(家族关系查询系统)...
家族关系查询系统 1 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式, 记载一个以血缘关系为主体的家族世 系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化 遗产,是中华民族的 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统).....
家族关系查询系统 1 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式, 记载一个以血缘关系为主体的家族世 系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化 遗产,是中华民族的 ...
- 家族关系查询系统程序设计算法思路_数据结构课程设计家族关系查询系统要点...
家族关系查询系统 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要 人物事迹的特殊图书载体. 家谱是中国特有的文化遗产, 是中华民族的三大 ...
最新文章
- 2020最大赢家!马斯克身家达1600亿美元,2张图拆解他的巨额财富
- JQuery .each()向后
- 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一1.6 正确度量...
- SAP JAM活跃度统计
- Scala的List集合和Set集合
- Android Canvas 绘制基本形状 Android自定义View(七)
- tomcat配置及其中部分目录作用虚拟路径虚拟主机
- win7下mysql读写分离_Windows环境下Mysql 5.7读写分离简单记录
- Nervos DAO锁定总额突破100亿,近日解锁的14.28亿生态基金已被全部存入
- 子矩阵最大累加和(详解)
- 通过WinForm控件创建的WPF控件无法输入的问题
- GIT更新一其中一个提交版本
- 批量插入数据到sqlserver
- 抖音矩阵系统源码搭建,抖音矩阵系统开发原理,抖音矩阵系统搭建
- java时钟指针_时钟 走动 一个应用线程实现指针运动的指针时钟程序 联合开发网 - pudn.com...
- T31开发笔记: 使用FTP上传下载文件
- caffe 人脸关键点检测_密集人脸关键点检测
- Simulink之S-function函数笔记之二
- 射频电路板设计常见的问题分析和解决办法
- C++实现一个有理数类,包括大小比较,有理数的加减乘除。测试你的类。
热门文章
- python setup.py build,无法执行“python setup.py build”命令..!
- Kendo UI 刷新数据源信息
- gt9xx.c和gt9xx.h文件分析
- 计算机软件里的字体,软件里面的字体大小
- 2021年必会的3个Kubernetes工具
- 语音识别服务_语音识别服务厂商_腾讯云语音识别服务 - 云+社区 - 腾讯云
- shell脚本模拟键盘输入完成程序交互(定时重启docker部署的项目样例)
- 向工信部投诉中国联通、移动、电信等运营服务商的权威途径
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java康健医药公司进销存管理22jao
- 十分钟了解完多目标优化算法