Algorithm
一梦
这个作者很懒,什么都没留下…
展开
-
HeapSort
算法描述开始:①堆排序算法:假设已经建立好了最大堆,将堆顶元素跟最后一个元素交换,然后将堆的长度减1,此时堆可能已经不是最大堆了,所以需要将减1之后的堆变成最大堆,即始终保持待排序的堆是最大堆,直到堆的大小变为1,结束。②保持最大堆(递归体):假设左右子树都是最大堆,比较根元素跟左右孩子的大小,若根元素小于左孩子或者右孩子的大小,调整它们的值,使得根元素最大。调整后,左子树或者右子树已经不原创 2013-05-11 12:02:06 · 686 阅读 · 0 评论 -
QuickSort
快速排序算法描述: 快速排序过程: ①定义一个数组array,选择一个基准值key(通常是选第一个元素),定义两个基准指针low,high,初始时,low=0,high=array.length-1,key=array[low], ② 先从右往左比较元素跟key的大小,即high逐次减一,直到找到第一个比key小的元素,交换array[high]与array[low]的值。 ③然原创 2013-05-11 17:00:02 · 653 阅读 · 0 评论 -
A-Star 算法
A-Star算法是一种启发式算法,广泛用于寻找最短路径问题上,如智力游戏问题、路径规划问题、行动规划问题等。A-Star算法流程:1) 生成一个只包含开始节点n0的搜索图G,把n0放在一个叫OPEN的列表上。2) 生成一个列表CLOSED,它的初始值为空。3) 如果OPEN为空,则失败退出。4) 选择OPEN上的第一个节点,把它从OPEN中移入CLOSED,称该节点为n原创 2013-12-07 13:00:50 · 1350 阅读 · 0 评论