选择排序基本思想:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的最后,直到全部记录排序完毕直接选择排序:1)基本思想:是一种简单直观的排序,从待排序的记录序列中选择关键码的最小(或最大)的记录并将它与序列中的第一个记录交换位置;然后从不包括第一..
分类:
其他好文 时间:
2014-09-28 20:07:28
阅读次数:
287
【笔记】冒泡,选择,插入三者的排序算法时间复杂度均是O(N2)级,排序主要是执行比较和交换(复制)操作,相对来说:选择排序较冒泡排序减少了交换次数;而插入排序左边是一直保持有序的。【参考书籍】Java数据结构与算法 以下是源代码,针对数组的操作,存取元素为基本类型: 1 import java.u....
分类:
编程语言 时间:
2014-09-28 13:06:32
阅读次数:
245
常用排序算法小记排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。废话不多说,下面逐一看看经典的排序算法:1. 选择排序选择排序的基本思想是遍历数组的过程中,以i代表当前需要排序的序号,则需要在剩余的[i…n-1]中找出其中的最小值,然后将找...
分类:
其他好文 时间:
2014-09-27 12:42:39
阅读次数:
146
继上篇文章写到关于数据结构的了解,有了数据结构自然要有算法了,下面来看看关于算法的理解!
算法在考试中要求级别是非常高的,是考试中的重点难点。所以要好好重视起来。
下面是我画的一张图:
算法分为查找和排序。
查找中,顺序查找,二分查找的方法和特点,在学习这两种查找方式时可以对比着学习,这样会有更高的效率。备考级别(***)。
关于排序中的简单选择排序,直接插入排序和冒泡排序是考试...
分类:
其他好文 时间:
2014-09-26 20:08:09
阅读次数:
150
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。
不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。
胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:
其他好文 时间:
2014-09-25 23:56:08
阅读次数:
279
Selection Sort选择排序The idea of the selection sort is to find the smallest element in the list and exchange it with theelement in the first position. Th...
分类:
其他好文 时间:
2014-09-25 19:44:07
阅读次数:
223
选择、插入、冒泡三种算是最典型的排序算法了,空间复杂度都为O(1)选择排序时间复杂度跟初始数据顺序无关,O(n2),而且还不稳定;插入排序时间复杂度跟初始数据顺序有关最好O(n),最坏O(n2),稳定冒泡排序时间复杂度跟初始数据顺序有关最好O(n),最坏O(n2),稳定三种算法中对于大量随机数,所需...
分类:
其他好文 时间:
2014-09-24 18:41:17
阅读次数:
228
转自http://blog.csdn.net/cjf_iceking/article/details/7916194在冒泡排序、选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才能走出自己的路线,有自己的杰作。好吧,来让楼主继续...
分类:
其他好文 时间:
2014-09-23 21:44:55
阅读次数:
229
Java数据结构和算法(三)——简单排序单单有数据还不够,...
分类:
编程语言 时间:
2014-09-23 10:09:14
阅读次数:
302
1.选择排序的实现
2.插入排序的实现
3.shell排序的实现
注意代码中h值的选取。
4.shuffling(随机算法)
问题描述:给定一组元素个数为N数组i,随机的重新安排每个元素的位置,要求每个元素出现在各个位置上的概率相等。
解(1):
思路:声明一个长度为N的double类型的数组j,生成N个随机变量依次赋给j中的元...
分类:
其他好文 时间:
2014-09-22 15:38:22
阅读次数:
148