算法与数据结构
文章平均质量分 74
太阳仔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
经典排序之插入排序
package InsertionSort; /* * 插入排序,从小到大的顺序,思想是:将数组分成两部分, * 前半部分是已经排好序的,后半部分尚未排序(迭代哦), * 将尚未排序部分的第一个元素与前半部分已经排好序的最后一个元素比较, * 若是比它大的话,就将那个最后一个元素的值换到这个元素的位置, * 而这个元素继续向前比较,直到比它小的地方,就将该元素放在该位置原创 2012-04-20 23:05:36 · 274 阅读 · 0 评论 -
经典排序之归并排序
package 归并排序; /* * 归并排序的思想:将数组从中间分开,然后利用递归的方法将左右子序列均拆开 * 再借助一个数组归并左右序列,排序是在归并时进行的,最后将数据复制到原始数组中 */ public class mergeSort { //要排序的数组 private static int[] array = { 12,34,2543,5原创 2012-04-20 23:06:20 · 297 阅读 · 0 评论 -
经典排序之快速排序
package 快速排序; /* * 快排的思想:是一种分治策略,但不同于归并的分治,归并的分治是将数组分成相等的两部分处理问题再最后归并起来, * 而快排中间的分治是将数组分成不相等的两部分,就是选取一个支点,然后将小于支点的数据全部都放在支点的左边,将大于 * 它的数据放在支点的右边,完成一次快排,最后进行递归操作左右部分 * * 其中有一些技巧:首先是选取支点,可原创 2012-04-20 23:06:56 · 330 阅读 · 0 评论 -
经典算法之选择排序
package SelectionSort; /* * 选择排序的思想:先从数组的第一个元素开始,选出从第一个开始到最后一个元素之间的最小值, * 找到他的位置(就是序号index),然后将它与第一个元素交换,最后当然是迭代罗 * 有两个函数:1)选出最小的的元素的索引 。 2)进行交换 * */ public class 迭代选择排序 { /**Task: 将原创 2012-04-20 23:04:28 · 320 阅读 · 0 评论 -
Java动态规划求解最长公共子串问题
最长公共子串问题:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z 是序列X和Y的公共子序列。最长公共子串就是求给定两个序列的一个最长公共子序列。例如,X=“COBEBRANT”,Y=“COBAT”是X的一个子序列。 问题分析: 给定两个序列A和B,称序列Z是A和B的公共子序列,是指Z同是A和B的子序列。问题要求转载 2012-05-24 20:58:36 · 1222 阅读 · 0 评论 -
图的广度优先搜索
广度优先搜索法是 A*搜索的原型,先写出广度优先搜索,再在下篇中扩展成A*; 设置两个链表 closedList 存放已经访问过的节点,是(FIFO)表 openList 存放已经即将访的节点,是(FIFO)表 在该算法中,每个节点最多被访问一次. import java.util.*; public class BreadthFirstSearchTest {转载 2012-05-24 19:43:01 · 476 阅读 · 0 评论
分享