![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
文章平均质量分 76
相由心生2020
这个作者很懒,什么都没留下…
展开
-
java语言,try中return语句与finally语句执行顺序
问题: 在java中,如果try语句中有return,finally语句会不会执行呢? 执行! finally语句和try中的return哪个先执行呢? finally中的语句先执行! finally语句会不会改变return语句中变量的值呢? 不会! 面试原题: try {} 里有一个return语句,那么紧跟在这个...原创 2018-08-09 11:30:46 · 500 阅读 · 0 评论 -
递归与循环 效率比较( LeetCode 17、电话号码的字母组合 递归实现)
一、问题解答: 1、递归为什么会出现栈溢出? 大家都知道递归的实现原理是通过调用函数本身,在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。递归调用,只有走到最后的结束点后函数才能依次退出,而未到达最后的结束点之前,占用的栈空间一直没有释放,如果递归调用次数过多,就可能导致占用的栈资源超过线程的最大值,从而导致...原创 2018-08-07 15:33:28 · 470 阅读 · 0 评论 -
二叉查找树与红黑树 总结
一、二叉查找树 1、递归遍历一颗二叉查找树的时间复杂度: best:O(logn) worst:O(n) 2、查询二叉查找树的时间复杂度: best:Olog(n) worst:On 3、查找前驱和后继的时间复杂度: 一般说前驱或后继是指在中序遍历下的。 时间复杂度是O(logn) 4、插入和删除元素 插入:时间复杂度 O(logn) 删除:删除的元素为z; ...原创 2018-08-07 15:37:40 · 556 阅读 · 0 评论