数据结构与算法随笔
F_V
FaceleeVoid
展开
-
快速排序算法
在一本书上发现的一种改进版的快速排序算法,自己把它整理出来了。这里通过小数组的时候是用插入排序算法,大数组的时候使用快速排序算法进行对算法的优化。而且是用三数中值分割法取枢纽元保证这个两个数组分得的数学期望大小是相等的。(即取首,末,中三个点的中值作为枢纽元,且在比较过程中把另外两个排好序)用以保证算法效率的稳定性。 我尝试用大量泛型随机整数(随机数范围大小等于数组的大小),进行排序,其排序效率表原创 2016-12-10 19:06:49 · 469 阅读 · 0 评论 -
用不相交集合生成一个迷宫
最近看到不相交集,使用不相交集写了一个生成迷宫算法,其实想法很简单,就来分享一下,首先我们对迷宫中的每个格子进行编号,从0到n,先画一个n*m的格子版,然后删除一些边打通各个格子,使之变成连通,我们把边分成横边和纵边,我们可以通过计算,标记打通一条边会使两个格子变成连通,然后用不想交集合进行标记。最后使得所有边都连通起来即可: 具体操作:先把所有的边编号,放入一个数组内,然后用随机数打乱整个数组,原创 2016-12-15 09:10:39 · 718 阅读 · 0 评论 -
商旅问题的分支限界法 java语言实现
最近作业实现了一个java语言的商旅问题的分支限界法,因为快考试了也不能写太多,这里直接提供一个实现的代码算了:package com.company.arithmetic;import java.util.*;/** * Created by v on 17-6-7. */ public class TSP { private static class Node{ //原创 2017-06-08 19:17:48 · 1587 阅读 · 0 评论