随笔分类 -  Algorithm

摘要:摘要 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 冒泡排序 1 func BubbleSort(vector []int) { 2 fmt.Println("BubbleSort") 3 fmt. 阅读全文
posted @ 2016-06-29 11:17 borey 阅读(570) 评论(0) 推荐(0)
摘要:思路:初步查看很难一眼分析出表达式是什么含义,我们不妨举例分析一下,假设 n = 5,二进制表示为101,那么 n-1 = 4,二进制表示为100, 5 & 4 = 101 & 100 = 100 = 4 != 0,下面我们来看更多的例子 我们会发现要使表达式等于0,n-1必须使得n的n-1都向高位 阅读全文
posted @ 2016-06-29 11:14 borey 阅读(1991) 评论(0) 推荐(0)
摘要:思路一: 计算出n!= nValue,然后 nValue % 10 == 0 则nCount自增1,nValue /= 10 直到条件为否,最后nCount就是我们想要的结果,代码如下: 代码简洁易懂,看上去还不赖,但是这里要考虑一个问题就是在求n!整数溢出了怎么办? 显然我们使用_int64也同样 阅读全文
posted @ 2016-06-29 11:12 borey 阅读(2725) 评论(0) 推荐(0)
摘要:思路: 递归思想。我们有n张牌,不妨先假设有一个洗牌函数shuffle(....),能完美的洗出n-1张牌 。拿第n张牌来打乱前面n-1的洗牌顺序,从而得到n张牌的最终结果。 代码如下: 输出结果: 从结果来看上去很完美,剩下就是要在随机函数上做文章了,如果有一个完美的随机数发生器,那么这就是一个完 阅读全文
posted @ 2016-06-29 11:07 borey 阅读(9881) 评论(0) 推荐(0)