JAVA+数据结构
文章平均质量分 64
浮云野鹤
这个作者很懒,什么都没留下…
展开
-
贪心算法之最大乘积
掌握贪心算法。设n是一个正整数。现在要求将n分解为若干个互不相同的自然数的和,且使这些自然 数的乘积最大。 对于给定的正整数n,编程计算最优分解方案。 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.S原创 2012-11-19 18:48:15 · 2094 阅读 · 0 评论 -
线性时间排序之计数排序(JAVA)
计数排序 当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n +k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序原创 2012-11-09 17:16:59 · 941 阅读 · 1 评论 -
用幂法求矩阵的最大近似特征值 (JAVA)
一. 算法设计1. 幂法(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1. (2)计算v=Au, m=max(v), u= v/ m(3)若| m-m|2.反幂法(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1. (2)对A作LU分解,即A=LU(3)解线性方程组 Ly=u,Uv=y(4)计算 m=max(v)原创 2012-11-28 22:08:45 · 2841 阅读 · 0 评论 -
动态规划之矩阵链乘
掌握并实现动态规划算法。 对比如维数为序列(5,10,3,12,5,50,6)的各矩阵。找出其矩阵链乘的一个最优加全括号。实验思想:一般地,可以用下列的递回算法求出最小成本:取得矩阵的序列且将其分成两个子序列。找出乘完每一子序列的最小成本。将成本加起来,并加上两个结果矩阵相乘的成本。在每一矩阵序列可分开的位置运作,并取其最小值。publicclass T原创 2012-11-19 18:42:45 · 1804 阅读 · 0 评论 -
堆排序(JAVA)
“堆”定义 n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质): (1) ki=号。 // k(i)相当于二叉树的非叶结点,K(2i)则是左孩子,k(2i+1)是右孩子 大根堆排序算法的基本操作: ① 初始化操作:将R[1..n]构造为初始堆; ② 每一趟排序的基本操作:将当前无序区的堆顶记录R[原创 2012-11-09 19:43:39 · 580 阅读 · 0 评论