【面试向】十种排序算法 排序算法及例题 面试基础之十种排序算法 包括冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序,堆排序,计数排序,桶排序,基数排序。研究它们算法,以及最好最坏平均时间复杂度和空间复杂度,是否为就地替换以及稳定性。 排序不能只是为了解决排序而已,有时候利用排序的思想可以解决意想不到的的问题哦! 推荐阅读:https://github.com/h 2020-07-21 算法 排序
Durant终于有个家写写东西了 上周,非常有幸接触到Hux大佬的博客,深感震撼,而且他也在Github上分享了Jekyll源码,star>5000。我决定DIY一番,不然对不起程序员的身份。 Bug好不容易搭建好了,结果写好的markdown样子和Hux完全不同。 标签前面有#,而且是有标签的那种 图片不显示 公式不显示 语法没高亮,没行号 目录没显示 评论区没显示 这叫我如何能忍。是可忍,孰不可忍。 Solu 2020-07-19 杂记 环境配置 朝花夕拾
麻麻终于不用担心我分不清楚线段树和树状数组了! 线段树和树状数组 “树状数组和线段树都是用于维护数列信息的数据结构,支持单点/区间修改,单点/区间询问信息。以增加权值与询问区间权值和为例,其余的信息需要维护也都类似。时间复杂度均为$O(logn)$。 ” 详细的数学证明 练习题目 计算右侧小于当前元素的个数 最大子序和 327.区间和的个数 I. 树状数组Fenwick Tree地中海的程序猿们研究数组,时候遇到这样一个问 2020-07-17 算法 树状数组 线段树
内存管理 C++内存管理 内存管理是非常让人头疼的事情,因为一不小心就可能导致内存泄漏,为此很多C++程序员跑路到java或python,???但是反过来说,优秀的程序员知道如何管理内存,并显式获得速度的飞跃。 内存分类: 静态内存:用来保存局部static对象,类的static数据成员以及定义在任何函数之外的变量。 栈内存:用来保存定义在函数内的非static对象。 分配在静态或栈内存中的对象由编译 2020-06-25 C++ 内存管理 C++
全手写实现AVL树 全手写实现AVL树 本文阅读大概需要45分钟,独立编程需要两天,建议预留充足的时间和咖啡。 (友情提示,笔者基本未参考网络资料,边思考边写代码,100%干货,学AVL看这一篇就够了) 学树的顺序,一般来说是:二叉树->二叉查找树->AVL树->2-3-4树->红黑树。它们的难度依次递增。不得不说的是,树是计算机科学最重要研究课题之一。在算法类面试当中,树的考察也是不可或缺 2020-05-10 经典数据结构 平衡树 - python
花拳绣腿学红黑 花拳绣腿学红黑一提到红黑树,你应该是这样想的。。。 上一期我们详细分析了AVL树,相信你已经对二叉平衡树有了非常棒的理解。这一期我们开始介绍红黑树,红黑树在网上有很多资源,但是讲的不严谨,也不全面。笔者初学时也浪费了许多时间,因此我将非常细致的讲解,将自己踩过的坑晒出来,保证你能看懂。 红黑树和AVL树的区别是:AVL树是严格平衡的二叉树,红黑树是弱平衡的二叉树。和红黑树相比,AVL树是严格的平 2020-05-10 经典数据结构 python 平衡树