您的位置:首页 > 其它

查找和排序的一点浅显认识

2015-10-24 16:31 225 查看
[align=center]
[/align]以前老是混淆各种排序的方法,对此我也感到十分苦恼,去网上搜索各种排序教程,结果收获颇微,就在期末考试时,我还担心会有排序的题(事实证明我多虑了),不过作为算法的基本功,不扎实迟早会出大问题,今天把查找和排序通了一遍,遇见排序我再也不怕不怕啦!!

查找分为:

顺序查找和二分查找(折半查找)顺序查找就是一个一个比对,这个有点像扫描病毒的原理,比如你手机下载的时候不小心附带了病毒,那么手机上的杀毒软就把其特性和所谓的云病毒库进行比对,一旦比对成功,就会删除该病毒,所以说,一旦存在新特性的病毒,什么杀毒都是靠不住的。顺序查找也是这个原理,从头到尾,直到找到需要的数据。二分查找比顺序查找快的多,不过有条件,就是查找的数据必须按一定顺序排列好,思想是,先将要查找的数据和中间的那个数据进行比对,如果比中间的大,那么就在中间的右面查找,如果比中间的小,那么就在中间的小面查找,等于说每次查找都排除一半的数据,所以时间要节省很多。

排序分为:

插入排序比如有N个数,那么就把后N-1个数和第一个数比较,如果大于就交换,实际上就是把后边的数和前面已经排好的比对,看看插在哪里合适。选择排序有N个数,把N个数里面最小的那个造出来放在首位,然后再找N-1个数中最小的那个放在N-1个数的首位,每次排序数都会少一个,直到拍到最后为止。冒泡排序写到这,还依然想到费老讲洗衣粉沫子的事,实际上就是那回事,大的泡泡上去,小的泡泡下来,对于N个数,让第一个和第二个比较,如果第一个大于第二个就让他们交换,然后让第二个和第三个比较,如果第二个大于第三个就让他们交换,这样一来,上面的都是大泡泡,下面都是小泡泡了。哈希排序也叫归并排序,希尔排序,是把N个数分成多个小数组,用同样的方法把小数组分成小小数组,把小小数组排好,最后一合并,就是按顺序的了。由于数的交换跳度较大,是目前较快的排序法。快速排序光看名字就知道这种方法不会慢,实际上它是目前公认的最快的方法,他的思想是把一个数作为基准数,数组中比基准数小的放左边,大的放右边,然后用同样的方法排左右两个数列,这种方法比哈希排序的跳度更大。  小结:插入排序实质:先排后找      选择排序实质:先找后排冒泡排序实质:边排边找哈希和快速:分治后镶嵌冒泡
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: