Algorithms
文章平均质量分 76
real_lisa
这个作者很懒,什么都没留下…
展开
-
常见十大(内部)排序算法 - Sorting Algorithms C++
基本概念内部和外部排序内部排序在这里指的是只用到了电脑内存而不使用外存的排序方式。相对的,外部排序就是同时动用了电脑内存和外存的排序方式。本文在这里只讨论内部排序。分类比较和非比较排序比较在这里指的是需要比较两个元素的大小(前后)才能进行的排序。难道有排序算法不需要比较吗?的确有,但是不多。常见的有三种:计数排序,桶排序,基数排序。它们用统计的方法规避了比较,详细的可查看之后讲...原创 2018-09-16 11:11:36 · 21286 阅读 · 3 评论 -
Binary Search 二分搜索法 C++
第一类 需要查找和目标值完全相等的数法一int find(vector<int>& nums, int target) { int left = 0, right = nums.size(); while (left < right) { int mid = left + (right - left) / 2; i...原创 2018-11-07 14:11:36 · 208 阅读 · 0 评论 -
Manacher‘s Algorithm 马拉车算法
Longest Palindromic Substring跟之前算法没什么区别的地方就是,还是需要两两对比确定是否为Palidromemaintain一个叫lens的array,lens[i] - 以i为中心的最大Palindrome的半径(包括自身)example:s="OABAXABAO" -> lens[2] = 2, 以"B"为中心的最大Palindrome半径为2计算方法...原创 2019-05-20 07:58:04 · 307 阅读 · 0 评论 -
QuickSort 快速排序
基本思想:divide &conquer and partition -把array分成>=pivot和<pivot(=随意)两部分重点:1.while l<r -> 最终l等于r2.因为最终start与l交换位置,l必须指向一个小于pivot的数 -> if else的顺序不能变Partitionsdef partitionSwap(a...原创 2019-06-30 06:14:31 · 177 阅读 · 0 评论