====算法 ====
-dzy-
国子先生晨入太学,招诸生立馆下,诲之曰:“业精于勤,荒于嬉;行成于思,毁于随。”
展开
-
C语言求最小公倍数和最大公约数三种算法
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为两数的最大公约数③ 若c转载 2016-08-07 23:32:18 · 454 阅读 · 4 评论 -
典型静态方法的实现(algs4)
内容包括:计算一个整数的绝对值计算一个浮点数的绝对值判读一个数是否是素数计算平方根(牛顿迭代法) 配图计算直角三角形的斜边计算调和级数1+1/2+1/3+1/4+...+1/n=?package method;/* 典型的静态方法的实现 静态方法:若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。 静态方法为类所原创 2017-08-04 20:04:59 · 473 阅读 · 0 评论 -
打印N的二进制表示(algs4)
栈的应用除二取余,逆序排列package _1_3linkedList;import java.util.Scanner;/*打印N的二进制表示*/public class BinaryRepresentation{ public static void main (String[] args) { Stack stack=new Stack(); Scanne原创 2017-08-15 23:17:21 · 252 阅读 · 0 评论 -
典型的数组处理代码(algs4)
1. 找出数组中最大的元素 package array1;/** 找出数组中最大的元素-数据类型的实现*/public class Max{ private double max; private double[] b; public Max(double[] a) //构造函数,数组是引用传递而非值传递所以进行复制性保护 { b=new double[a.len原创 2017-08-03 23:10:34 · 451 阅读 · 0 评论 -
Dijkstra的双栈算术表达式(未省略括号)求值算法(algs4)
package method;import java.util.Scanner;import java.util.Stack;/* * Dijkstra的双栈算术表达式(未省略括号)求值算法 * 用两个栈(一个用于保存运算符,一个用于保存操作数) * 1.将操作数压入操作数栈; * 2.将运算符压入运算符栈; * 3.忽略左括号; * 4.在遇到右括号时,弹出一个运算符,弹原创 2017-08-09 08:39:53 · 440 阅读 · 0 评论 -
算术表达式补全右括号(algs4)
栈的应用package _1_3linkedList;import java.util.Scanner;/*1.3.9从标准输入中得到一个缺少左括号的表达式并打印出补全括号之后的中序表达式*/public class _1_3_9CompleteBracket{ public static void main(String[] args) { String s=new原创 2017-08-16 10:44:30 · 559 阅读 · 0 评论 -
1.3.10将算术表达式由中序表达式转为后序表达式(algs4)
前序表达式如何求值对于一个前序表达式的求值而言,首先要从右至左扫描表达式,从右边第一个字符开始判断,如果当前字符是数字则一直到数字串的末尾再记录下来,如果是运算符,则将右边离得最近的两个“数字串”作相应的运算,以此作为一个新的“数字串”并记录下来。一直扫描到表达式的最左端时,最后运算的值也就是表达式的值。例如,前序表达式“- 1 + 2 3“的求值,扫描到3时,记录下这个数字串,扫描到2时原创 2017-08-17 21:00:59 · 824 阅读 · 0 评论 -
算法分析(algs4)
时间:算法增长数量级的分类 典型的增长数量级函数 内存:变量的类型的内存原创 2017-08-18 10:38:18 · 1337 阅读 · 0 评论 -
3-sum问题平方对数级别解法(algs4)
ThreeSum程序会统计一个文件中所有和为0的三整数元组的数量。ThreeSun用一个三重循环进行查找for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) for(int k=j+1;k<n;k++) if(a[i]+a[j]+a[k])==0) cnt++;运行时间是关于数组大小的立方级别的改进后的算法思路:1.先将原创 2017-08-18 15:46:31 · 480 阅读 · 0 评论 -
Union-find算法(algs4)
1. 动态连通性问题目标:编写一个程序过滤掉序列中无意义的整数对(两个整数均来自同一个等价类中)。问题描述:当程序从输入中读取了整数对p、q时,如果已知的所有整数对都不能说明p和q是相连的,那么则将这一对整数写入到输出中。如果已知的数据可以说明p和q是相连的,那么程序应该忽略p、q这对整数并继续处理输入中的下一对整数。应用:网络、变量名等价性、数学集合网络方面的术语:对象称为原创 2017-08-19 21:32:09 · 524 阅读 · 0 评论 -
封装日期数据类型的两种实现(algs4)
Date1APIpublic class Date1private final int month;private final int day;private final int year;public Date1(int m,i原创 2017-08-07 11:15:32 · 412 阅读 · 0 评论 -
网上一些《算法(第四版)》习题答案链接
jimmysuncpt/Algorithmsaistrate/AlgorithmsSedgewick原创 2017-08-17 16:54:29 · 8403 阅读 · 0 评论 -
累加器的方差(algs4)
相应的递推公式:其中En-1由平均值的递推公式变换替代可得代码中的表达式ypackage method;/*累加器的方差(与直接对所有数据的平方求和的方法相比较,能更好的避免四舍五入产生的误差)*/public class Accumulator{ private double m; private double s; privat原创 2017-08-09 14:21:57 · 746 阅读 · 0 评论 -
话说NOIP一些会考到的算法
话说NOIP一些会考到的算法 欢迎转载,转载请标明出处http://blog.csdn.net/ahalei/article/details/20533559转载 2016-08-01 08:21:28 · 324 阅读 · 0 评论 -
工程实践中最常用的10大数据结构与算法讲解(0)
在Quora上看到一个问题:工程实践当中,最常用的算法和数据结构有哪些?以下是Google工程师Arjun Nayini给出的答案,得到了绝大多数人的赞同。最常用的算法1.图搜索算法(BFS,DFS)。2.排序算法3.通用的动态规划算法4.匹配算法和网络流算法5.正则表达式和字符串匹配算法最常用的数据结构1.图,尤其是树结构特转载 2016-08-05 21:04:37 · 538 阅读 · 0 评论 -
递归算法实例讲解
递归算法实例讲解题图:递归在数学与计算机科学中,递归是指在函数的定义中使用函数自身的方法。递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3) 递归算法解题通常显得很简洁...转载 2016-07-25 21:54:42 · 1022 阅读 · 0 评论 -
在Eclipse中调用Algs4库
如何在Eclipse中调用教材库,也就是Algs4.jar首先下载Eclipse,我选择的是 Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动然后开始新建项目,File -> New Java Project,项目名随便写,如下图右键src文件夹,Add -> New Ja转载 2016-11-05 10:05:11 · 856 阅读 · 0 评论