首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
apigfly
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
期望为线性时间的选择算法
问题分解:利用分区算法(见快速排序章节)将数组分区,判断 i 的分区位置,递归进行。 问题处理:当分区样本所在位置等于 i 时,返回结果。
排序算法之快速排序
解决:通过递归调用快速排序,对左、右数组进行排序。 合并:因为子数组都是原址排序的,所以不需要合并。
排序算法之计数排序
输入数组:array[1..n]。 输出数组:result[1..n]。 临时储存数组:countArray[0..k]。 计算array中每个元素的个数,存放到countArray数组:将array数组中的元素值作为countArray数组的下标,array中元素每重复出现一…
排序算法之选择排序
实现流程:对数组的第一个元素排序,从第一个元素开始查找最小的元素,找到后将最小元素和第一个元素交换,继续排序第二个元素,从第二个元素开始查找最小的元素,找到后与第二个元素交换直到还剩一个元素未排序。
排序算法之归并排序
分治策略:将原问题分解为几个规模较小但类似于原问题的子问题,递归求解这些子问题,然后合并子问题的解来建立原问题的解。
排序算法之分治策略
此次我们会通过最大子数组和数组最大元素两个案例来深入理解分治策略前菜:数组最大元素问题示例代码主菜:最大子数组问题分析前两种为相同形式的子问题,而对于跨越中点情况,我们需要特殊求解跨越中点整体求解示例
求一个数组的全排列-Java
从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 所以一共可能的情况是4*3*2*1=24种。 有没有感觉上面像是粘贴复制的效果,请记住这种感觉,当出现这种感觉的时候,我们就可以递归解…
递归求解汉诺塔问题
法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些…