北航计算机软件技术基础课程作业&笔记【4】

本文主要介绍了北航计算机软件技术基础课程的作业内容,包括二叉树的前序遍历、多叉树转二叉树以及线性哈希表的应用。在二叉树部分,详细讲解了如何根据中序和后序遍历来推理前序遍历结果。在哈希表部分,讨论了线性哈希表的平均查找次数计算及其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目(好像以前没加)

二叉树与哈希表

作业

1.二叉树前序遍历结果

  • 二叉树结构为

     
  • 代码实现中序+后序推理前序表达式

    #include <iostream>
    #include <stack>
    #include <string>
    #include <vector>
    #include <deque>
    ​
    //  BDCEAFHG
    std::deque<char> mid_order = {'B','D','C','E','A','F','H','G'};
    //  DECBHGFA
    std::deque<char> back_order = {'D','E','C','B','H','G','F','A'};
    ​
    ​
    std::string mid = "BDCEAFHG";
    std::string back = "DECBHGFA";
    ​
    void get_res(std::string mid, std::string back)
    {   
        if(mid.empty())
        {
            return;
        }
        char root = back.back();
        std::cout <<root;
        int root_index = mid.find(root),length = mid.length();
        // mid , left is 0-ind, right is ind-end
        // back, left is 0-ind, right is ind-end-1 
        
        // left sub tree
        get_res(mid.substr(0,root_index),back.substr(0,root_index));
        // right subtree
        // get_res(mid.substr(root_index+1,length-1),back.substr(root_index,length-1));
        get_res(mid.substr(root_index+1,length-1),back.substr(root_index,length-root_index-1));
    }
    ​
    ​
    int main()
    {
        get_res(mid,back);
        return 0;
    }
  • 运行结果

    ABCDEFGH(符合推导的二叉树结构)

2.将多叉树转二叉树

 

3.线性哈希表

H(k)=INT(k/13),序列为(08, 14,23,30,68,92,42,55,76,10)

目录

二叉树与哈希表

作业

1.二叉树前序遍历结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robinbird_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值