算法
文章平均质量分 52
记录算法之旅
叫我李嘉图
NLP,ML/DL,Python,推荐系统,知识图谱,云计算,大数据,一路探索Geeker精神。
展开
-
快速排序
快速排序 1.概念 快速排序算法是基于分址策略的一种排序算法。 2.基本思想 对于输入的子数组arr[l:n],按以下三个步骤进行排序。 分解(Divide):以arr[l]为基准元素将a[l:r]划分成3段a[l:p-1],a[q]和a[q+1:r],使a[l:q-1]中任何一个元素小于等于a[q],而a[q+1:r]中任何一个元素大于等于a[q]。下标q在划分过 程中确定。 递归求解(Conquer):通过递归调用快速排序算法,分别对arr[l:q-1]和arr[q+1:r]进行排序。 合并(原创 2021-01-02 17:20:31 · 185 阅读 · 0 评论 -
合并排序
title: 合并排序 date: 2021-01-02 14:58:11 tags: 算法 合并排序 1.概念 归并排序(Merge Sort)是一种高效的、通用的、基于比较的分治排序算法。大多数实现都产生了稳定的排序,意味着实现保留了排序输出中想等元素的输入顺序。归并排序是一种分治算法,由冯.诺伊曼于1945年发明。 2.基本思想 将待排序元素分成大小大致相同的两个相同子集合,分别对两个子集合进行排序,最终将排好序的子集合合并成要求的排好序的集合。 输入: 一系列的无序元素(eg.数字)组成的输入.原创 2021-01-02 15:19:48 · 5693 阅读 · 1 评论 -
二分搜索算法
二分搜索算法 二分搜索算法是运用分治策略的一个典型例子。给定已排好序的n个元素arr[0:n-1],现要在这n个元素中找到一个特定元素key。首先我们可以顺序搜索,逐个比较arr[0:n-1]中的元素,直至找出元素x或搜索整个数组一遍发现key不再其中。但是这个算法没利用好已排好序这个性质,并且在最坏的情况下,需要O(n)次比较(把整个数组都搜索一遍)。 二分搜索方法充分利用了元素间的次序关系,采用了分治策略,可在最坏情况下用O(logn)时间完成搜索任务。二分搜索算法的基本思想是,将n个元素分成原创 2021-01-02 11:38:12 · 680 阅读 · 0 评论