【算法数据结构Java实现】欧几里得算法
2014-11-25 13:23
267 查看
1.背景
欧几里得算法是一个求最大因子的快速算法。如果m,n存在最大因子k,假设m=x*n+r,那么m和n可以整出k的话,r也肯定可以整除k 因为定理:如果M>N,则M mod N<M/2 ,说明时间复杂度是O(log(n))2.代码
package Algorithm_analysis; public class Euclid { public static void main(String[] args){ int m=63; int n=18; int remainder=0; while(n!=0){ remainder=m%n; m=n; n=remainder; } System.out.print(m); } }
/********************************* 本文来自博客 “李博Garvin“* 转载请标明出处:http://blog.csdn.net/buptgshengod
******************************************/
相关文章推荐
- 彻底弄明白之数据结构中的排序七大算法-java实现
- 一步步学习数据结构和算法之冒泡排序效率分析及java实现
- 【算法数据结构Java实现】Java实现单链表
- 数据结构和算法 C/C++ Java 和 C# 版 - (2)线性表 精准表述 实现
- 【算法与数据结构】二叉搜索树的Java实现
- 一步步学习数据结构和算法之快速排序效率分析及java实现
- 【数据结构&&算法系列】KMP算法介绍及实现(c++ && java)
- 数据结构Java实现——③串--->串的模式匹配:Brute-Force算法和 KMP算法
- 【算法数据结构Java实现】递归的简单剖析及时间复杂度计算
- 【数据结构&&等差数列】KMP简介和算法的实现(c++ && java)
- 一步步学习数据结构和算法之直接插入排序效率分析及java实现
- 各大IT公司算法和数据结构面试题整理Java实现
- 一步步学习数据结构和算法之归并排序效率分析及java实现
- 【算法数据结构Java实现】Java实现动态规划(背包问题)
- 严蔚敏《数据结构》中迷宫算法java实现
- 一步步学习数据结构和算法之折半插入排序效率分析及java实现
- 一步步学习数据结构和算法之选择排序效率分析及java实现
- 一步步学习数据结构和算法之常用排序效率分析及java实现
- 数据结构与算法——插入排序(Java实现)
- 【算法与数据结构】冒泡、插入、归并、堆排序、快速排序的Java实现代码