
算法
文章平均质量分 78
icyfire0105
这个作者很懒,什么都没留下…
展开
-
作业:递归实现插入排序和在o(nlgn)时间复杂度内寻找和为定值的两个元素
1、递归实现插入排序基本思想:可以把插入排序看作递归 地排序A[1..n-1]然后插入a[n]到已经排好序的序列a[1..n-1]中。一下是实现算法(C#描述,VS205中调试通过) class InsertSort ...{ static void Main(string[] args) ...{ int[] array1=...{15,原创 2007-09-13 08:11:00 · 1546 阅读 · 0 评论 -
java实现归并算法
class MergeSort implements SortStrategy ...{ private Comparable[] bridge; /** *//** *利用归并排序算法对数组obj进行排序 */ public void sort(Comparable[] obj) ...{ if (obj == nu转载 2007-09-12 20:41:00 · 841 阅读 · 0 评论 -
最近点对算法
实验目的:求解最近点对算法,分析该算法的性能。问题定义随机生成点的横、纵坐标值(0-9999),点数可以设置100个,1000个,10000个。输出格式:最近点对为( XX , XX )与( YY , YY )以及点对之间的距离。 实验思想使用分治法求解最近点对问题。事先用O(n log n)时间对x坐标进行排序,使得所有的点是按x坐标从小到大排好序的(x坐标相原创 2008-01-28 11:19:00 · 6017 阅读 · 7 评论 -
红黑树的插入删除算法的实现(java描述)
实验目的: 熟悉红黑树的性质,使用java语言实现红黑树的插入删除算法,并测试实现的算法。问题定义 尝试构造一个红黑树。实现红黑树的定义,并且实现其插入删除的算法。插入或者删除某个元素之后扔保持红黑树的性质。 可依次插入下列数组中的元素:{41,12,8,7,3,9,10,11,56,29,33,43} 打印该红黑树原创 2008-01-26 11:15:00 · 2714 阅读 · 0 评论 -
动态规划实现最长公共子序列(LCS)算法
实验目的:熟悉并实现最长公共子序列算法,理解动态规划算法的核心思想。 问题定义输入任意两个字符串,求其最长公共子序列。输入格式:两条随机序列,如 1 3 4 5 5 and 2 4 5 5 7 6输出格式:它们的最长公共子序列,例:4 5 5最小规模:程序可处理的序列长度不得小于100实验思想记 Xi=﹤x1,⋯,xi﹥即X序列的前i个字符 (1≤i≤m原创 2008-01-28 13:35:00 · 12531 阅读 · 6 评论 -
使用插入排序优化快速排序的算法实现
实验目的: 快速排序可以按照以下的算法思想优化,并加快快速排序的速度:即当快速排序所划分的子序列的长度小于某个定值k时,该子序列基本有序,可以采用插入排序的办法对子序列进行排序,从而使整体算法的时间复杂度的期望下降为O(nk+nlg(n/k))。本实验的目的是实现该快速排序的优化算法,并且探讨合理的k的取值范围问题定义实验总共要解决两个问题1、 优化的快速排序的算法原创 2008-01-26 10:46:00 · 5066 阅读 · 2 评论 -
区间树上的重叠区间查找算法
实验目的: 熟悉并实现区间树上的重叠区间查找算法,分析该算法的性能。问题定义 尝试构造一个区间树。 可依次插入下列数组中的元素:[8,9] [ 5,8] [15,23] [0,3] [6,10] [25,30] [17,19] [26,26] [19,20]查找重叠区间:“find [22,25]”或“find [11,14原创 2008-01-27 11:09:00 · 7256 阅读 · 7 评论 -
最佳调度问题的回溯算法(java实现)
实验目的:理解回溯法的原理,掌握调度问题的处理方法,实现最佳调度问题的回溯解决。 问题定义输入:1. 任务数N2. 机器数M3. 随机序列长度t[i],其中t[i]=x表示第i个任务完成需要时间单位x,输出:1. 开销时间besttime,表示最佳调度需要时间单位2. 最佳调度序列bestx[原创 2008-01-29 21:40:00 · 9689 阅读 · 0 评论