qin462328037 发表于 2013-9-11 00:40

【算法分析-直接插入排序法/直接选择排序法】

本帖最后由 qin462328037 于 2013-9-11 00:47 编辑

直接插入排序法(变形)
public static void insertSort(DataWrap[] data)
{
System.out.println(“排序前:”);
int arrayLength = data.length;
for(int i = 0 ; i < arrayLength-1; i ++)
{
DataWrap tmp = data;//命名条件:用于保存临时数据,完成插入
//建立i的关系(否则从0到arrayLength-1)
for (int j = i+1; j < arrayLength ; i++)
{
If ( data.compareTo(data) > 0 )
{
data = data; // 移动
}
Data = tmp; // 插入(写在判断体中也可以)
}
System.out.println(java.util.Arrays.toString(data));
}
}


直接选择排序法(原型)
public static void SelectSort(DataWarp[] data)
{
System.out.println(“排序前”);
int arrayLength = data.length;
for (int i = 0 ; i < arraylength -1; i ++)
{
int minIndex = i ; // 未用
//建立i的关系(否则从0到arrayLength-1)
for (int j = i+1; j < arrayLength ; i++)
{
If ( data.compareto(data) > 0 )
{
DataWrap tmp = data;   // 交换
data = data;
data = tmp;
}
}
System.out.println(java.util.Arrays.toString(data));
}
}

1..直接插入排序法和直接选择排序法本质是一样的,写法不同而已。请大家注意
2.从命名条件到后面的移动并插入和交换本质是一样的~
3.请留心双重for循环的起始位置和终点位置。

分享经验,传递正能量~

马斯维尔 发表于 2013-9-11 01:35

我始终都看不懂KMP和串的模式匹配。我也看了不少KMP算法的文章,但是就是自己不会写。排序和查找更是蛋疼。
数据结构就是个坑,我要是把数据结构学好了,也不会是这个样子。哎。。

qin462328037 发表于 2013-9-11 07:17

马斯维尔 发表于 2013-9-11 01:35 static/image/common/back.gif
我始终都看不懂KMP和串的模式匹配。我也看了不少KMP算法的文章,但是就是自己不会写。排序和查找更是蛋疼。 ...

其实,我也是个小白。数据结构,我自己大概用了三个月学习。
开始的一个月每天早晨学习一个小时,也没全看完,基本自己每一个都有点印象。主要是:写注释,理解。
后面的两个月,整体把握:自己开始总结每一总算法的相同点和不同点,细心发现。起始很多东西都是类似的,甚至可以相互转换。

有些更是模板+自己的命名条件(加了个幌子),有些编程语言的类库甚至都是用这些算法实现的。

经典就是经典,想想他为什么称作经典,为什么每个学计算机的大学都要开这门课程。又为什么大神们都说数据结构/算法必须要学,即使现在不学,以后也要学。
很多大神告诉我们数据结构/算法 开始的时候不要管,先去写代码,靠代码一点点积累经验。

在这里,我的一点点感受就是:反正早晚都要学,早学早利索。学习完,发现,起始自己的编程功底也在一点点的提升。虽然没有靠代码积累,但是这个自己也算有一个小收获,只是毕竟是想通的,这个学懂了,自己在总结下。基本编程的时候可以减少很多没没学习的人的错误。

熊熊 发表于 2013-9-11 08:20

学习一下了,感谢楼主分享精彩破文
页: [1]
查看完整版本: 【算法分析-直接插入排序法/直接选择排序法】