- 博客(4)
- 资源 (2)
- 问答 (7)
- 收藏
- 关注
原创 Order statistics
描述: 寻找一个数组中第i 小的元素很容易联想到最小值问题,O(n)内解决,但好像无法直接应用,这时最直观的就是先排序,再查找O(nlgn), 仔细想来,一旦完成排序意味者所有的元素都可以找到,而我们只需要寻找一个(常数个),显然解决方案是一个“更加泛型”的算法,这样就会出现“杀鸡用了牛刀—大材小用”,如果改用“鸡刀”显然复杂度会有所降低。 如何降低呢?与排序算法一样,就是减少不必要的比较
2017-06-16 11:20:39 2541
原创 Sort summary2
一旦跳出了“排序就比较”这个思维,那我们就有可能实现更低的复杂度,当然代价就是对输入的数据有一定的限制。1,count 限制条件就是元素的数值在(0,k), 最好不要出现负数(虽然有些也是可以解决),值不要太大(具体就是值的跨度不要太大),基本思路就是开辟K个空间,统计数组中小于i(0
2017-06-15 23:33:58 210
原创 Sort summary
排序的广泛使用使得研究排序算法成为算法的入门案例,本文主要罗列比较排序以及非比较排序(带限制的数据)的常用方法(默认从小到大)。 1, bubble,“冒泡”还是蛮形象的,每一轮中最终获得了当前数组中的最大值,而最大值的获取就是通过与邻近元素的比较逐步上升的。如果你对算法不了解,让你自己去排序一组数,那最直观的就是我每次拿到最大数保存,然后从余下的数中再递归找最大,所以bubble类似于sel
2017-06-15 22:18:44 228
原创 max sub array
题外话,写“算法是一门技术”系列主要是感觉自己对算法背后的东西没有一个统一的认识,应该是功力尚浅,本系列大致计划是按照《算法导论》第三版的每个大的专题顺序进行撰写,记录些许自己的理解(所以会比较凌乱),不当之处,欢迎指正。1,最直观的想法就是暴力,最终需要找到一个最大子序列,即数组A中的两个索引 i, j. 计算每个以i开头的子序列的最大值,然后比较每个max_sub_sum[i]即可。 2,di
2017-06-09 16:25:37 676
Nsight 5.2 在vs2015中调试kernel
2017-08-08
cuda 支持 uncoalesced access吗?
2016-12-21
二叉树删除节点的依据
2016-12-11
如何在端GPU建立一颗二叉树
2016-11-30
如何释放堆的部分内存
2014-12-01
指针删除操作 指针赋值 错误
2014-11-29
C++ 指针与字符串的区别
2014-11-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人