并归排序的过程就是一个先拆再合并的过程,先拆到全是不能再拆的最小数组,然后组与组之间合并,排序的过程在合并的过程中执行。 所以整个算法分两部分,split和merge 先说merge吧,将两个数组合并为新数组,符合从大到小。 邓老师的教案给出过另外一种复杂校验的版本,不过其教案上也注明了,从效率的角 ...
分类:
编程语言 时间:
2018-10-29 11:10:16
阅读次数:
130
1、什么是二分思想? 二分思想可以理解为是一种将一个大问题分成两个子题,当每次分析完两个子问题后,舍弃其中一个不符合条件的子问题,再将符合条件的子问题一分为二,反复循环搜索判断的操作,直至找到所求的数值或者子问题不能再一分为二时为止的思想。 2、二分搜索算法 二分搜索算法是运用二分思想和分治策略的典 ...
分类:
其他好文 时间:
2018-10-22 20:40:56
阅读次数:
164
对二分法的学习体会以及关于结对编程的体验分享 1) 二分搜索技术 a) 顺序搜索方法:逐个比较a[0: n-1]中元素,直至找出元素或搜索整个数组后确定x不在其中。该方法没有很好地利用n个元素已排好序这个条件,因此在最坏的情况下,顺序搜索方法需要O(n) 次比较。 b) 二分搜索方法:将n个元素分成 ...
分类:
其他好文 时间:
2018-10-22 00:02:46
阅读次数:
238
一、对二分法思想的体会 1.二分法是运用分治策略的典型例子,也称折半查找,充分利用了元素间的次序关系,是一种效率较高的查找方法。实现二分算法有递归和非递归两种方式。 2.基本思想:将n个元素分成大致相同的两半,取a[n/2]与x作比较。如果x=a[n/2],则找到x,算法终止;如果a<[n/2],则 ...
分类:
其他好文 时间:
2018-10-21 16:55:43
阅读次数:
168
1.二分法思想:二分搜索算法是运用分治策略的典型例子。二分搜索算法的基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与x作比较。如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则只在数组a的左半部继续搜索x;如果x>a[n/2],则只在数组a的右半部继续搜索x。通过二分搜索 ...
分类:
其他好文 时间:
2018-10-21 12:15:05
阅读次数:
169
一、对二分算法理解 二分算法,又称折半算法,是应用分治策略的典型例子。二分查找主要对有序序列进行对所指定数字的查找,通过不断缩小搜查范围,在比较中间的数后对左右两个数组进行相同操作,以得到最终的带查找数字。时间复杂度logn,对数组较大时能显著提高程序效率。 二、算法代码 ...
分类:
编程语言 时间:
2018-10-20 18:34:02
阅读次数:
122
一、对二分法思想的理解 1.特点:又称为折半算法,是分治策略的一个典型例子。主要是用于:在已排好序的n个元素组成的数组a[0:n-1]中,找出一个特定的元素x。 2.基本思想:(1)将n个元素分成个数大致相同相同的两半,然后取a[n/2]与x作比较。 (2)如果x = a[n/2],则已找到x,返回 ...
分类:
其他好文 时间:
2018-10-19 02:13:53
阅读次数:
153
20172327 2018 2019 1 《程序设计与数据结构》第五周学习总结 教材学习内容总结 第九章 排序与查找 查找 1.查找:在某个项目组中找到指定元素或判断是否存在。该项目组被称为查找池。 2.常见查找方式,线性查找。 3.查找目标:高效地完成查找,用最小化比较操作。通常查找池中项目数目定 ...
分类:
其他好文 时间:
2018-10-18 01:03:30
阅读次数:
146
1.排序算法的分类 排序算法:基本排序,多路归并排序 基本排序:交换排序,选择排序,插入排序,合并排序 交换排序:冒泡排序,快速排序 选择排序:选择排序,堆排序 插入排序:插入排序,Shell排序 2.冒泡排序算法 (1)流程: 1.对数组中的各数据,依次比较相邻的两个元素的大小; 2.如果前面的数 ...
分类:
编程语言 时间:
2018-10-17 14:56:58
阅读次数:
161
该脚本适用于需要合并的txt文件就在当前目录,而不是当前目录的下级目录,且TXT文件名称是按照数字命名#!/bin/bash#查找当前路径下所有后缀名为.txt的文件并统计数量FILE_COUNT=`find.-typef-name"*.txt"|wc-l`#判断当前路径下是否还有超过10个txt文件需要合并while[$FILE_COUNT-gt10]do#查找当前路径下所有后缀名为.txt的文
分类:
其他好文 时间:
2018-10-17 14:51:26
阅读次数:
151