12.8_黑马数据结构与算法笔记Java
2023-12-15 15:29:10
目录
044 递归 e04 冒泡排序2
当排序到一定程度的时候,就不再需要排序了,因为有的本身就已经排好序了。减少排序的次数。
没有发生交换,意味着有序。有发生交换,意味着无序。在每一轮的排序中,i充当无序与有序的界限。每一轮结束后,x被授予i的职责,充当这一轮无序与有序的界限。于是,下一次的递归,就只要排x左边的元素了。
044 递归 e05 插入排序1
当要插入的元素是整个数组中最小的那个,就会出现以下的情况。因此,要设置当i小于0的时候就要退出循环。
?
044 递归 e05 插入排序2
当要找的元素就是low的时候,就不用这么麻烦了。因此,优化代码。
045 多路递归 斐波那契
?
046 多路递归 斐波那契 时间复杂度
多少个圆圈,就代表调用了多少次。
047 多路递归 斐波那契 兔子问题
048 多路递归 斐波那契 青蛙跳台阶
049 递归 优化 记忆法
重复计算的值非常多,想要简便运算,就设置数组,储存已经算过的数值。当以后还需要用到这些数值的时候,就不用再计算了,直接从数组中寻找即可。
用空间换取时间。
?
050 递归 爆栈问题
当传入的数据量特别大的情况下,就会爆栈
051 递归 尾调用与尾递归
052 递归 尾递归避免爆栈
?Scala可以通过尾递归的方式使它不要爆栈
@tailrec注解可以帮助我们检查我们的写法是否符合尾递归的写法。
根本解决方案:?
053 递归 主定理求时间复杂度 1
找出abc,然后套公式即可以。?
054 递归 主定理求时间复杂度 2
?
?
055 递归 展开求时间复杂度 1
?
056 递归 展开求时间复杂度 2
开挂网址
057 多路递归 e02 汉诺塔1
?
?
057?多路递归 e02 汉诺塔2
?
因为第一次和第二次传进去的柱子是不一样的。所以第一次的c.addLast(a.removeLast())和第二次的是不一样的。
?
057?多路递归 e03 杨辉三角1
?
?
thinking:Java Arrays.fill()?
thinking:减号,左对齐?
但这个例子是在C中的。
文章来源:https://blog.csdn.net/2301_80185446/article/details/134868964
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!