DS博客作业07--查找
1.本周学习总结
1.思维导图
2.谈谈你对查找运算的认识及学习体会
通过本周对查找运算的学习,系统的深入了解一些算法和查找方法,例如顺序查找,折半查找,希尔排序等;
这些方法可以帮我们解决不同情况下的查找,例如在大数据的情况下,要求要得到前十个数,快排速度是快,但是
要求只是前十个,不如用堆排。
2.PTA实验作业
2.1题目1:二叉搜索树中的最近公共祖先
在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。
现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。
2.1.1设计思路(伪代码)
思路如下:
有两种情况:1.u,v不在树中;
2.u,v在树中:
<1>u,v都在左子树上;
<2>u,v都在右子树上;
<3>u,v一个在左子树上,一个在右子树上;
<4>u,v有一个在根上。
2.1.2代码截图
2.1.3本题PTA提交列表说明
Q:考虑了是否是根,在根的同一边,找不到的情况,两个数在根的同一边忘记考虑了
A:后面带入数据,才知道少了种情况
2.2题目1: QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。
2.2.2代码截图
2.2.3本题PTA提交列表说明
这题会map一般就没问题,编译错误是忘记换成c++
2.3.题目1:是否二叉搜索树
本题要求实现函数,判断给定二叉树是否二叉搜索树。
2.3.1设计思路(伪代码)
首先二叉搜索树,就是:
非空左子树的所有键值小于其根结点的键值。
非空右子树的所有键值大于其根结点的键值。
左、右子树都是二叉搜索树。
所以就按这个考虑
2.3.2代码截图
2.3.3本题PTA提交列表说明
思路明确的话,一般不会有问题,后面多提交的是为了想找几个特殊点看看,能不能过
3.阅读代码
3.1 题目:查找书籍
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价
3.2 代码截图
3.3 学习体会
熟悉一些常用的算法,这样解题可以加快速度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?