
算法导论
文章平均质量分 78
相由心生fhy
这个作者很懒,什么都没留下…
展开
-
算法导论学习之——排序
第二次看算法导论,感觉对这本书的精髓有了更进一步的掌握,在此,把我认为比较重要的排序算法做一个总结,欢迎大家批评指正!排序算法从大的概念分为比较排序和非比较排序,比较排序包括:合并排序、堆排序、快速排序非比较排序: 计数排序、桶排序、基数排序一、插入排序:1、简单介绍:插入排序作为最基本的入门排序,算法思想最简单,最容易实现。该算法是一个就地排序算法,思想是:将数组A中的元...原创 2018-07-29 22:15:28 · 231 阅读 · 0 评论 -
二叉查找树与红黑树 总结
一、二叉查找树1、递归遍历一颗二叉查找树的时间复杂度:best:O(logn) worst:O(n)2、查询二叉查找树的时间复杂度:best:Olog(n) worst:On3、查找前驱和后继的时间复杂度:一般说前驱或后继是指在中序遍历下的。时间复杂度是O(logn)4、插入和删除元素插入:时间复杂度 O(logn)删除:删除的元素为z;...原创 2018-08-03 17:28:00 · 339 阅读 · 0 评论 -
递归与循环 效率比较( LeetCode 17、电话号码的字母组合 递归实现)
一、问题解答:1、递归为什么会出现栈溢出?大家都知道递归的实现原理是通过调用函数本身,在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。递归调用,只有走到最后的结束点后函数才能依次退出,而未到达最后的结束点之前,占用的栈空间一直没有释放,如果递归调用次数过多,就可能导致占用的栈资源超过线程的最大值,从而导致...原创 2018-08-02 15:43:33 · 486 阅读 · 0 评论