算法
文章平均质量分 80
tiger_8023
努力不一定成功,为了成功必须努力
展开
-
算法基础之----希尔排序
基本介绍:希尔排序是直接插入排序的改良算法,所以,时间复杂度肯定优于直接插入排序。其主要思路还是直接插入排序的思想,与之不同的就是,希尔排序将一个待排序的序列进行了分组操作,对每一组分别进行直接插入排序。原创 2017-09-03 16:04:45 · 228 阅读 · 0 评论 -
算法基础之----堆排序
选择排序的改良----堆排序(HeapSort)在介绍堆排序之前首先阐述两个概念: 1)、大根堆:在完全二叉树中,将任一有子节点的节点,看成成由改节点为根节点组成的二叉树,则,任一根节点的值都比左、右孩子的值都大,这就是大根堆; 2)、小根堆:与大根堆反之。 如果要对某序列进行升序排序,需建立大根堆;降序排序,需要建立小根堆。原创 2017-09-04 21:54:06 · 249 阅读 · 0 评论 -
算法基础之----直接插入排序
算法之排序----直接插入排序: 手工过程是算法实现的重要一步,在没有搞清楚手工过程之前,坚决不允许进行代码的编写。原创 2017-08-23 13:53:08 · 309 阅读 · 0 评论 -
算法基础之----二元选择排序
假设有一个序列,元素个数为n,要对该序列进行排序。(升序为例)在要排序的这一组数中,找到一个最小元素,与第1个位置(下标为0)的元素进行交换;与此同时,找到一个最大的元素,与最后一个位置的元素(下标为n-1)进行交换。然后,再进行如上操作,从除第一个元素和最后一个元素之外的所有元素中,分别找到最大和最小的元素,分别与第二个位置(下标为1)、倒数第二个位置(下标为n-2)处的元素原创 2017-08-28 10:55:51 · 424 阅读 · 0 评论 -
算法基础之----直接交换排序
算法基础之----直接交换排序(冒泡排序(BubbleSort))在要排序的一组数中,对当前序列的每两个相邻的元素进行比较,做出合适的调整。即,较小的数左移,较大的数右移(此为升序,降序反之),此为交换排序的思想。原创 2017-08-24 14:53:42 · 748 阅读 · 0 评论 -
算法基础之----直接选择排序
算法基础之----直接选择排序(SelectSort)假设有一个序列,元素个数为n,要对该序列进行排序。在要排序的这一组数中,找到一个最小(或最大)元素,与第1个位置(下标为0)的元素进行交换。然后,再进行如上操作,从除第一个元素值外的所有元素中,找到最小(或最大)的元素,与第二个位置(下标为1)处的元素进行交换;以此类推,直到第n-1个元素和第n个元素比较为止。原创 2017-08-24 14:38:53 · 205 阅读 · 0 评论