09 2018 档案
摘要:基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,# 所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序。然后缩小间隔increment,# 重复上述子序列划分和排序工作。直到最后取increment=1,将所有元素放在同一个子序列中排序为止。# (2)由于开始时,increm...
阅读全文
摘要:# 1、将指针指向某个元素,假设该元素左侧的元素全部有序,将该元素抽取出来,然后按照从右往左的顺序分别与其左边的元素比较,# 遇到比其大的元素便将元素右移,直到找到比该元素小的元素或者找到最左面发现其左侧的元素都比它大,停止;# 2、此时会出现一个空位,将该元素放入到空位中,此时该元素左侧的元素都比
阅读全文
摘要:# 其实思想是蛮简单的,就是通过第一遍的遍历(让left和right指针重合)来找到数组的切割点。# 第一步:首先我们从数组的left位置取出该数(20)作为基准(base)参照物。# 第二步:从数组的right位置向前找,一直找到比(base)小的数,# 如果找到,将此数赋给left位置(也就是将
阅读全文
摘要:# 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,# 直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。## 第一趟比较完成后,最后一个数一定
阅读全文
摘要:#a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中# 选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序)
阅读全文
摘要:import hashlibimport os def get_md5(file_path): md5 = None if os.path.isfile(file_path): f = open(file_path, 'rb') md5_obj = hashlib.md5() md5_obj.upd
阅读全文
浙公网安备 33010602011771号