返回信息流有leader和engineer两种实体,每种实体都有数量很多的对象。
engineer和leader是从属关系,而且engineer可以从属于任意多个leader;
leader也可以从属于任意多个leader。
如何使用数据结构(C语言)描述上面的关系?
给定一个engineer和leader,如何根据判定是否存在从属关系? 判定过程的时间复杂度如何?
如果删除一个engineer,如何调整组织结构?如果删除一个leader呢?
如果删除一对engineer和leader的从属关系,如何调整组织结构?
如果删除一对leader和leader的从属关系,如何调整组织结构?
这是一条镜像帖。来源:北邮人论坛 / cpp / #87757同步于 2015/7/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
讨论下这个题
starrats
2015/7/3镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
bool adj[NLEADERS][NENGINEERS] 其中adj[i][j]==true表示第i号leader与第j号engineer有关联。
来自「北邮人论坛手机版」
【 在 nuanyangyang 的大作中提到: 】
: bool adj[NLEADERS][NENGINEERS] 其中adj[i][j]==true表示第i号leader与第j号engineer有关联。
: 来自「北邮人论坛手机版」
这个方案可能非常不好,当矩阵非常稀疏的时候,非常浪费空间。
楼主的这个题目,可以抽象为经典的学生和课程模式。一个学生可以选多个课程,一个课程可能被多个学生选。
一个可能比较好的方案是多重表。楼主可以参考下《数据结构与算法分析,C语言描述》链表的那一节。
至于什么方案最好,严格依赖于一个学生可以选多少课程,一共多少课程。
以及一个课程至多被多少学生选择,需要一定的计算。这里从略。