算法
算法
75888丶
即使一小步,我都愿意与你分享。
展开
-
909422229__1.直接插入排序__程序员必须知道的8大排序和3大查找
(1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例原创 2016-08-25 19:25:34 · 289 阅读 · 0 评论 -
909422229__三种查找算法:顺序查找,二分法查找(折半查找),分块查找
三种查找算法:顺序查找,二分法查找(折半查找),分块查找一、顺序查找的基本思想:从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。适用于线原创 2016-08-25 19:35:26 · 7677 阅读 · 0 评论 -
909422229__8、基数排序__程序员必须知道的8大排序和3大查找
8、基数排序(1)基本思想:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。(2)实例:稳定性说明:排序前,2(或者更多)个相等的数在序列的前后位置顺序和排序后它们在序列中的前后位置顺序一样。实例:原创 2016-08-25 19:34:07 · 303 阅读 · 0 评论 -
909422229__7、归并排序__程序员必须知道的8大排序和3大查找
7、归并排序(1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。(2)实例:原创 2016-08-25 19:33:15 · 310 阅读 · 0 评论 -
909422229__5、冒泡排序程序员必须知道的8大排序和3大查找
5、冒泡排序(1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。(2)实例:原创 2016-08-25 19:31:52 · 260 阅读 · 0 评论 -
909422229__4、堆排序程序员必须知道的8大排序和3大查找
4、堆排序(1)基本思想:堆排序是一种树形选择排序,是对直接选择排序的有效改进。堆的定义如下:具有n个元素的序列(h1,h2,...,hn),当且仅当满足(hi>=h2i,hi>=2i+1)或(hi(2)实例:初始序列:46,79,56,38,40,84建堆:交换,从堆中踢出最大数剩余结点再建堆,再交换原创 2016-08-25 19:30:05 · 316 阅读 · 0 评论 -
909422229__3、简单选择排序
(1)基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。(2)实例:原创 2016-08-25 19:29:02 · 218 阅读 · 0 评论 -
909422229__2、希尔排序(也称最小增量排序)程序员必须知道的8大排序和3大查找
2、希尔排序(也称最小增量排序)(1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。(2)实例:原创 2016-08-25 19:27:43 · 363 阅读 · 0 评论 -
909422229__程序员必须知道的8大排序和3大查找
现在我们分析一下8种排序算法的稳定性。(1)直接插入排序:一般插入排序,比较是从有序序列的最后一个元素开始,如果比它大则直接插入在其后面,否则一直往前比。如果找到一个和插入元素相等的,那么就插入到这个相等元素的后面。插入排序是稳定的。(2)希尔排序:希尔排序是按照不同步长对元素进行插入排序,一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排序过程中,相同的元素可原创 2016-08-25 19:20:28 · 442 阅读 · 0 评论 -
909422229__八皇后92种摆放
纪念当初看视频的思路:1:横排不能出现两个皇后或多个皇后 a 如果 1表示有皇后2:竖排不能出现两个皇后或多个皇后 b3:从左上到右下不能出现两个或多个皇后 c4:从右上到左下不能出现两个或多个皇后 d5:一共是8*8=64个空格,有8个皇后6:回朔算法:从一条路往前走,能进能退,不能进则退回来,换一条路再试。1】原创 2016-09-07 14:21:06 · 962 阅读 · 0 评论