【2014年数据结构真题】

41. (13分)二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。

给定一棵二叉树T,采用二叉链表存储,结点结构如下:

image.png

其中叶结点的weight域保存该结点的非负权值。 设root为指向T的根结点的指针, 请设计求T

的WPL的算法, 要求:

  1. 给出算法的基本设计思想。

  2. 使用C或C++语言, 给出二叉树结点的数据类型定义。

  3. 根据设计思想, 采用C或C++语言描述算法, 关键之处给出注释。

最优解

此题比较简单,直接用最优解

typedef struct BTNode{
    int weight;
    struct BTNode *left,*right;
}BTNode;

int fun(BTNode *root,int deep){
    int A,B;
    if(root==NULL)
        return 0;
    if(root->left==NULL&&root->right==NULL)
        return (root->weight)*deep;
    A=fun(root->left,deep+1);
    B=fun(root->right,deep+1);
    return A+B;
}

void main(BTNode *root){
    fun(root,0);
}

42. (10分)某网络中的路由器运行OSPF路由协议, 题42表是路由器R1维护的主要链路状态信息(LSI),题42图是根据题42表及R1的接口名构造出来的网络拓扑。

题42表 R1 所维护的 LSI

image.png

题 42 图 Rl 构造的网络拓扑

image.png

请回答下列问题。

  1. 本题中的网络可抽象为数据结构中的哪种逻辑结构?

  2. 针对题42表中的内容, 设计合理的链式存储结构, 以保存题 42表中的链路状态信息
    (LSI)。要求给出链式存储结构的数据类型定义,并画出对应 题42表的链式存储结构示意图(示意图中可仅以ID标识结点)。

3)按照迪杰斯特拉( Dijksta)算法 r 的策略, 依次给出R1到达题42图中子网192.1.x.x的

最短路径及费用。

解;

(1) 题中的网络是简单的网络拓扑图,可以抽象理解为无向图

(2) 链式存储结构如下图所示

第二问考试的时候能跳就跳吧

image.png

image.png

image.png

(3)计算结果如下所示

image.png

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值