
菜鸟算法学习之旅
老曹喜欢IT和吉他
老实人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
欧几里德算法--求解最大公约数
概念:欧几里德算法,用于计算两个正整数a、b的最大公约数。 定理:gcd(a,b) = gcd(b,a % b) ----> (a>b而且a % b不为0) 证明:a表示为a = kb + r ,则r = a % b = a - kb 第一步:假如a和b的一个公约数为d,则有x=a整除d,y=b整除d; 第二步:因为r = a - kb,即r = xd - k(yd)原创 2014-10-24 16:08:12 · 616 阅读 · 0 评论 -
从1到1024排成一个数除以9余数
(a…ab…b) % 9 = (a…a + b…b)%9 如:aa = ax10+a = a(9+1)+a = 9a+a+a aa%9 = (9a+a+a)%9 = (a+a)%9 即"从1到1024排成一个数除以9余数"等于“从1加到1024的累积和除以9的余数” 即[ (1+1024)*1024/2]%9 用计算器算出(1+1024)*1024/2为524800原创 2014-11-16 15:03:29 · 1431 阅读 · 0 评论 -
字符串排序--低位优先法
package com.lsd; public class LSD { public static void main(String[] args) { // TODO Auto-generated method stub String[] str = {"ab0","Hc2","cs3","ab0","sdg"}; sort(str, 3); } public stat原创 2014-11-23 21:04:11 · 657 阅读 · 0 评论 -
基于堆的优先队列
(参考算法第四版) 优先队列: 定义:一个合适的数据结构支持两种操作:删除最大元素和插入元素。这种数据类型叫做优先队列。 插入元素:我们将新元素加到数组末尾,增加堆的大小并让这个新元素上浮到合适的位置。 删除最大元素:我们从数组顶端删去最大的元素将数组的最后一个元素放在顶端,减小堆的大小并让这个元素下沉到合适的位置。 应用:许多应用程序都需要处理有序的元素,但不一定要求它原创 2014-11-30 23:10:24 · 548 阅读 · 0 评论