03 2019 档案

摘要:预备知识堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶... 阅读全文
posted @ 2019-03-16 21:37 白驹如隙 阅读(277) 评论(0) 推荐(0)
摘要:基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 分而治之 可以看到 阅读全文
posted @ 2019-03-14 11:39 白驹如隙 阅读(124) 评论(0) 推荐(0)
摘要:算法中的双指针思想及常见应用 最近在刷leetcode,碰到了许多双指针类的题目,题目是根据githubCyC大佬,在这里总结下:所谓双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。换言之,双指针法充分使用了数组有 阅读全文
posted @ 2019-03-10 11:42 白驹如隙 阅读(289) 评论(0) 推荐(0)