数据结构与算法期中试卷分析

先说我做错的题目。

第二题:

第2题第一问不会做,扣7分。

题目:给你一个字符串 s ,它仅包含字符 'a' 和 'b'​​​​ 。

你可以删除 s 中任意数目的字符,使得 s 平衡 。当不存在下标对 (i,j) 满足 i < j ,且 s[i] = 'b' 的同时 s[j]= 'a' ,此时认为 s 是 平衡 的。

要求基于栈,给出算法思想:

---------------------------------------------------------------------------------------------------------------------------------

ChatGpt4解答(别问我为什么不做):

要解决这个问题,我们可以使用一个栈来确保字符串平衡。基本思想是遍历字符串,使用栈来保持目前为止遇到的所有字符 'a'。当遇到字符 'b' 时,只有在栈为空的情况下才能添加 'b' 到结果中,因为一旦栈中有 'a',添加 'b' 就会导致字符串不平衡。遍历结束后,栈中剩余的所有 'a' 都是可以保留的,因为它们没有被任何 'b' 打断。

下面是基于这个思想的具体算法步骤:

  1. 初始化一个空栈 stack 和一个空字符串 result
  2. 遍历字符串 s 中的每一个字符:
    • 如果字符是 'a',则将其压入栈中。
    • 如果字符是 'b':
      • 如果栈为空,将 'b' 添加到 result 字符串中。
      • 如果栈不为空,说明在这个 'b' 之前至少有一个 'a',这个 'b' 不能添加到 result 中,以保证不出现 'b' 后面跟着 'a' 的情况。
  3. 遍历完成后,将栈中剩余的所有 'a' 添加到 result 字符串末尾。
  4. 返回平衡后的字符串 result

第九题 

老师考前提醒了说某些题目可能看起来很简单,但是实际有坑。

虽然注意了,但奈何自以为避过了坑,实际上是题目所给的坑并不是我所避过的,考场还在为写出代码暗自庆幸(因为我算法思想十分不好,写出来就十分庆幸了),但过后和室友探讨过答案后(北京时间2024.4.20  21:25),发现自己错了,刻骨铭心的记忆,15分没了。

此处不做心情的评价,也不做题目的分析(bushi)。因为悲伤是没有用的,技不如人就是技不如人,没有什么借口。本门课程虽然对本科阶段跨至硕士阶段意义重大,但事实就是事实,没写对就是没写对。虽然不可否认的是,课中和考前一直在认真学习和复习。平静的接受结果吧。

-------------------------------------------------------------------------------------------------------------------------------

下面来看题目。

判断一棵二叉树是否为二叉搜索树(BST),(1)分析算法思想,(2)给出伪代码,(3)分析时间复杂度。节点的数据结构为:

struct node
{
    int value;
    node* left;
    node* right;
};

我的错误和下面这位博主的一样,他的解答也十分精彩,鉴于刚考完的心情,我就不做分析了。

判断一棵二叉树是否为二叉搜索树(BST)_判断一棵树是否为bst-CSDN博客

其他题目

第一题较易。虽然自己做了许久......第1问是求一个S和的通项和,简单推导即可,第2问是时间复杂度和空间复杂度分析。

第三题是一个student队列,一个sandwiches队列,具体例子忘了。大概是:student={1,1,0,0},第一个元素为队首,sandwiches={0,1,01},最后一个元素为栈顶。问学生能否都有三明治吃?若队首的学生和栈顶一致,则拿走三明治并吃掉;若不一致,将该同学放置队尾,继续之前的情景。直到栈中的三明治学生都不喜欢吃结束。

第四题是由前序和中序表达式求二叉树和后序表达式。

第五题是依次插入几个元素,画出建堆之后的最小堆,如何插入一个元素,画出插入之后最小堆。

第六题是求几个不同频次字母的哈夫曼编码和WPL。

第七题是求,,,忘了,比较简单,爱求啥求啥吧。

第八题算法设计题。带头结点的单链表L={a1,a2,...,an},(下标快捷键打不出来,凑合看吧),要求重新排列,最后得到L'={a1,an,a2,an-1,a3,an-2,...}。

节点的数据结构为

struct node{

int value;

node* next; 

};

要求给出(1)算法思想;(2)伪代码,关键之处给出注释;(3)时间复杂度。

这个题目还行,自己做吧。qaq

--------------------------------------------------------------------------------------------------------------------------------

ok,我要求农了,白白各位,如果想要其他年份的期中试卷,可以私我,不一定及时回复。

路过的都给我点赞,不点赞的的咬死每一个人!!!

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HnuRookie

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

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

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

打赏作者

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

抵扣说明:

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

余额充值