编程题 利用二叉树实现人物关系

问题描述

某两会委员发言:“上海是全世界的上海,上海的房价应该和国际接轨,我觉得80后男孩子如果买不起房子,80后女孩子可以嫁给40岁的男人。80后的男人如果有条件了,到40岁再娶20岁的女孩子也是不错的选择。”【1楼回复】:我终于到40岁了,找到一个年轻貌美的20岁女友去她家见家长,开门的是当年读大学时相处了几年的初恋女友,新女友喊了一声:妈~【2楼补充】:她妈看到我,惊得倒吸一口冷气。没等我反应过来,然后把女儿拉进房间里,对女儿说“你不能和他在一起,他是你亲生父亲啊!”【3楼】这时女孩的60多岁的父亲走出来看见了女孩的男友,小声的对他说:“你怎么来了,给你妈和你的生活费不是每月都按时打去的吗?【4楼】女孩男友的父亲停完车也上楼了,一见女孩的父亲马上内流满面:"你不就是我失散多年的弟弟吗?"【5楼】女孩母亲见到男友母亲:"妈!"(二叉树)用你熟悉的计算机语言写一个小程序实现男友他妈的妈和女友他妈的爸的关系(男友是女友的父亲,也就是男友妻子)的父亲与男友的姥姥的关系,关系为女婿)关系整理:1.女孩与男友为亲生妇女关系2.女孩母亲与男友(生父)为同母异父亲兄妹3.男孩父亲是女孩父亲的亲哥哥4.男友母亲与两兄弟其中的一个生的女孩母亲

解决方案

解决方案二:
顶,晕了,好难懂。
解决方案三:
1.首先对出现的人物编号:如1.男友,2.女友,3.女友母亲,4,男友父亲,5女友父亲,6.男友母亲,注意这里的称谓(父亲母亲)只当做一个代号即可,真实的情况需要推理。2.主要是一个子节点可能有两个父节点(父亲,母亲),这样违背了二叉树的性质。所以可以设计数据结构来解决这个问题。这里可以把一个孩子(儿子或女儿)的母亲节点的编号直接保存在节点中,剩下的关系直接按照二叉树建树的方法操作。3.在进行判断真实关系时,输入两个编号,比如(1,2),先看母亲是否为同一人,然后在找父节点,叔结点。
解决方案四:
还忘了说一点,每一楼的信息抽象出一个关系,比如【一楼】可以得到:(3,2,母女),其他类推。

时间: 2024-10-06 07:29:51

编程题 利用二叉树实现人物关系的相关文章

编程:利用二叉树实现人物关系

问题描述 某两会委员发言:"上海是全世界的上海,上海的房价应该和国际接轨,我觉得80后男孩子如果买不起房子,80后女孩子可以嫁给40岁的男人.80后的男人如果有条件了,到40岁再娶20岁的女孩子也是不错的选择."[1楼回复]:我终于到40岁了,找到一个年轻貌美的20岁女友去她家见家长,开门的是当年读大学时相处了几年的初恋女友,新女友喊了一声:妈~[2楼补充]:她妈看到我,惊得倒吸一口冷气.没等我反应过来,然后把女儿拉进房间里,对女儿说"你不能和他在一起,他是你亲生父亲啊!&q

一道关于二叉树的编程题

问题描述 一道关于二叉树的编程题 给出一组整数对 { (a[0], b[0]), (a[1], b[1]) ... (a[n-1], b[n-1]) },所有 a 值 和 b 值分别不重复(任意 i != j 满足 a[i] != a[j] 且 b[i] != b[j]).构造一棵 n 结点的二叉树,将这 n 个整数对分配到各个结点上.根和所有子树满足以下条件: 1) 所有结点的 a 值满足二叉查找树的顺序,即 left->a < root->a && root->

《程序设计解题策略》——第1章 利用树型数据关系的解题策略 1.1 利用划分树求解整数区间内第k大的值

第1章 利用树型数据关系的解题策略 树是一个具有层次结构的集合,一种限制前件数且没有回路的连通图.在现实生活和程序设计的竞赛试题中,许多问题的数据关系呈树型结构,因此有关树的概念.原理.操作方法和一些由树的数据结构支持的算法,一直受到编程者的重视,被广泛应用于解题过程.在本章里,我们将介绍利用树型数据关系解题的七种策略: 1) 利用划分树求解整数区间内第k大值. 2) 利用最小生成树及其扩展形式(最优比率生成树.最小k度生成树.次小生成树)计算有权连通无向图中边权和满足限制条件的最优生成树. 3

百度WEB前端JavaScript编程题和HTML/CSS面试题

文章简介:笔试题,百度流程信息管理部Web前端实习研发工程师. 笔试题,百度流程信息管理部Web前端实习研发工程师. JavaScript编程题1.实现输出document对象中所有成员的名称和类型:2.如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)3.如何利用JS生成一个table?4.实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px,宽度为50px:5.假设有一个4行td的table,将table里面td顺序颠倒:6.模拟一个HashTable类,包含有add

函数调用-C语言编程题,插入求和函数,排序函数。么有错误,但结果不对!

问题描述 C语言编程题,插入求和函数,排序函数.么有错误,但结果不对! 定义一个包括学号.姓名及三门课的成绩和总分的结构体,利用该结构体说明一个包含五个人的结构体数组.从键盘输入五个人的基本信息.计算总分,并根据总分排序输出一个成绩单! 解决方案 show us the code加个断点调试吧看看每次排序后的顺序是否如预期结果 解决方案二: 这个代码也没贴出来,怎么知道问题出在哪里 解决方案三: 复 6楼 newdos#include void shuru(void);void qiuhepai

汤姆大叔的6道javascript编程题题解

看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4];  var ans = Math.max.apply(null, a);  console.log(ans);  // 6  这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: var ans = Math.max(1, 2, 3, 4, 5, 6);  conso

欢聚时代笔试题,滴滴出行编程题

感谢赛码网,奇怪的A题设计,bat一轮大企业过去,没A上去几道. intel 笔试: 1.单链表逆置,双向链表删除 2.层次遍历二叉树 3.rand4()生成rand9() 4.非常多的各种指针操作. 面试:完全的问项目 1.stl boost c++中的智能指针,以及其实现原理? 2.b 树的插入 3.代码实现stack 的排序,只能用stack 的基本操作 乐港面试: 服务器实时排名?(和完美世界一个样子) 为啥下午5点review code 的问题. // testofrecursive.

c语言-C编程题考题请教大神帮忙解答,非常感谢

问题描述 C编程题考题请教大神帮忙解答,非常感谢 求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的) 程序实现任意两个字符串s1.s2的比较.要求: 1) 字符串的比较写一函数sub()实现,不得调用标准库函数strcmp; 2) 在主函数中完成数据的输入与结果的输出. 如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)和等于A,则将整数A和B称为亲密数对.编程求5000以内的全部亲密数对. 程序实现将无序整数数组压缩成有序数组

Android编程之利用服务实现电话监听的方法_Android

本文实例讲述了Android编程之利用服务实现电话监听的方法.分享给大家供大家参考,具体如下: 1. 启动模拟器,部署应用 2. 利用模拟器控制器发送短信启动服务(查看日志输出判断是否成功) 3. 向模拟器拨打电话,并接听,挂断电话后,利用文件管理查看对应的cache目录或者sdcard中生成了3gp文件,并将其复制到pc中播放以验证. 清单设置(一个receiver,一个service,若干权限) <uses-permission android:name="android.permis