------【数据结构与算法】
杨晨光
梦想注定是一场孤独的旅行
展开
-
【数据结构与算法】——基数排序
基数排序基本思想:它是一种非比较排序。它是根据位的高低进行排序的,也就是先按个位排序,然后依据十位排序……以此类推。时间复杂度:分配需要O(n),收集为O(r),其中r为分配后链表的个数,以r=10为例,则有0~9这样10个链表来将原来的序列分类。而d,也就是位数(如最大的数是1234,位数是4,则d=4),即"分配-收集"的趟数。因此时间复杂度为O(d*(n+r))。空间复杂原创 2015-10-31 18:49:16 · 1441 阅读 · 3 评论 -
【数据结构与算法】——归并排序
归并排序基本思想:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。原创 2015-10-30 13:36:12 · 530 阅读 · 7 评论 -
【数据结构与算法】——选择排序
选择排序分为:简单选择排序和堆排序简单选择排序,基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。时间复杂度:最好情况:有序的情况下,交换次数为0.最坏情况:逆序排列,每次都要找打最小的,遍历N原创 2015-10-30 13:26:39 · 489 阅读 · 8 评论 -
【数据结构与算法】——交换排序
交换排序分为:冒泡排序和快速排序冒泡排序基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。原创 2015-10-20 23:12:29 · 731 阅读 · 12 评论 -
【数据结构与算法】——插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法原创 2015-10-14 18:50:12 · 833 阅读 · 11 评论 -
【数据结构与算法】——排序综述
将杂乱无章的数据元素,通过一定的方法按照关键字顺序排列的过程叫做排序。原创 2015-10-11 18:22:07 · 856 阅读 · 9 评论