
算法
文章平均质量分 68
无名大盗
这个作者很懒,什么都没留下…
展开
-
深入学习排序算法之稳定性、比较次数、交换次数探讨
在学习排序算法时,出于效率考虑,经常容易看到算法的稳定性、比较次数及交换次数研究。特别是考试或者公司笔试题,经常出现这样的题目。由于排序算法有很多种,平时提出大家才能说出个大概,但真要考查这些细节,估计很多人都说不准确。博主下决心写此文章,彻底探查清楚这些问题,与大家共享之。 首先说明稳定性是指相同元素在排序后相对位置保持不变。个人感觉稳定性的含义在于更广泛情形下,排序元素通常具原创 2014-05-11 17:27:20 · 26591 阅读 · 7 评论 -
位反转的最佳算法(C语言实现)
本文由 伯乐在线 - kimylrong 翻译自 Stackoverflow。欢迎加入技术翻译小组。原文链接: Stackoverflow 翻译: 伯乐在线 - kimylrong译文链接: http://blog.jobbole.com/70993/转载 2014-06-25 03:48:26 · 5375 阅读 · 0 评论 -
二叉树遍历非递归写法之大统一
在学习二叉树遍历时,大家都很容易接受递归写法,好理解。对于非递归写法,基本思想是用栈消除递归,但是教材上的前序、中序和后序基本上三个写法,还很难理解。博主亲身经历,找工作中,考查二叉树遍历的非递归写法还是常见的。所以决心整理出此文,方便理解和记忆二叉树遍历。 来复习一下二叉树的递归遍历。[cpp] view plaincopy原创 2014-05-26 23:03:08 · 1374 阅读 · 0 评论 -
直方图最大矩形
问题给定直方图,求直方图中最大的矩形面积。例如下图,用数组表示为[2,1,5,6,2,3]。对应的最大矩形面积为10.枚举对每个左边界,可以枚举其右边界的位置,寻找面积最大值。int h[] = [2,1,5,6,2,3];int length = 6, max = 0, s = 0;for(int i = 0; i < length; i ++) {原创 2016-09-10 22:04:00 · 1981 阅读 · 8 评论 -
最大子数组和
题目输入一个整型数组,数组里面有正数也有负数。数组中一个或连续的多个元素组成一个子数组。求所有子数组的和的最大值。例如,输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3, 10, -4, 7, 2}。因此输出为该子数组的和 18 。思路一:枚举枚举的思路很简单,计算所有子数组的和,然后取最大值。参考代码如下:int arr[] = {1, -2, 3, 10原创 2016-09-06 20:39:56 · 514 阅读 · 0 评论