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


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

查找分为:

顺序查找和二分查找(折半查找)

顺序查找就是一个一个比对,这个有点像扫描病毒的原理,比如你手机下载的时候不小心附带了病毒,那么手机上的杀毒软就把其特性和所谓的云病毒库进行比对,一旦比对成功,就会删除该病毒,所以说,一旦存在新特性的病毒,什么杀毒都是靠不住的。顺序查找也是这个原理,从头到尾,直到找到需要的数据。

二分查找比顺序查找快的多,不过有条件,就是查找的数据必须按一定顺序排列好,思想是,先将要查找的数据和中间的那个数据进行比对,如果比中间的大,那么就在中间的右面查找,如果比中间的小,那么就在中间的小面查找,等于说每次查找都排除一半的数据,所以时间要节省很多。

排序分为:

插入排序

比如有N个数,那么就把后N-1个数和第一个数比较,如果大于就交换,实际上就是把后边的数和前面已经排好的比对,看看插在哪里合适。

选择排序

N个数,把N个数里面最小的那个造出来放在首位,然后再找N-1个数中最小的那个放在N-1个数的首位,每次排序数都会少一个,直到拍到最后为止。

冒泡排序

写到这,还依然想到费老讲洗衣粉沫子的事,实际上就是那回事,大的泡泡上去,小的泡泡下来,对于N个数,让第一个和第二个比较,如果第一个大于第二个就让他们交换,然后让第二个和第三个比较,如果第二个大于第三个就让他们交换,这样一来,上面的都是大泡泡,下面都是小泡泡了。

哈希排序

也叫归并排序,希尔排序,是把N个数分成多个小数组,用同样的方法把小数组分成小小数组,把小小数组排好,最后一合并,就是按顺序的了。由于数的交换跳度较大,是目前较快的排序法。

快速排序

光看名字就知道这种方法不会慢,实际上它是目前公认的最快的方法,他的思想是把一个数作为基准数,数组中比基准数小的放左边,大的放右边,然后用同样的方法排左右两个数列,这种方法比哈希排序的跳度更大。

 

 

小结:插入排序实质:先排后找

      选择排序实质:先找后排

冒泡排序实质:边排边找

哈希和快速:分治后镶嵌冒泡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

581. 最短无序连续子数组 golang

581. 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15] …

引用 看图英语作文万能模板

来源:新东方 2007-7-27 纵观历年的考研作文题,均为图画作文,鲜有图表作文,而现在考研作文的要求采用八股文的模式——命题者已经告诉你要去写什么、怎么写甚至于顺序都已经安排 好!那么针对这么一个固化的考试模…

41. 缺失的第一个正数 golang

41. 缺失的第一个正数 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 Code 双百解法!这个题据说今日头条出过&#xff0…

Android手机隐藏命令大全

Android手机隐藏命令大全,用之前要考 虑清楚尤其是涉及到格式化或者恢复出厂设 置类的!注意:因Android版本较多,固有部分隐 藏命令或不能使用(笔者用HTC legend测试 发现部分命令可用,比如*#*#4636#*#*&…

56. 合并区间 golang

56. 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 …

忘记手势密码的解决办法

1.在输入密码的界面下方有个紧急呼叫按钮,点击进入紧急呼叫界面;2.输入*#*#7378423#*#*进入工程模式;3.依次选择customizationsettings--restcustomization--Resetcustomization and reboot,4.完成,自动重启!呼呼&…

15. 三数之和 golang

15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例&#xff…

云盘搜索找资料

自己平时经常看英剧美剧和电影,为 了寻找资源方便,陆续整理收集汇总 的各类搜索方法(网站),现在分享 出来,感兴趣的可以看看~只要被上传到→百度云盘、360盘、 新浪微盘、115盘、华为盘、迅雷、 金山快盘等…

设计师必备的html工具

HTML 5已经成为Web开发者当中最流行的语言之一,“健壮的”语言有很大的生产优质万维网内容的能力。HTML 5在近三年的增长迅猛,新引入HTML 5的技术更加的优秀。HTML 5技术被现代浏览器所支持,如Chrome、Firefox、Internet Explorer等等。而今天…

42. 接雨水 golang

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表…

257. 二叉树的所有路径 golang

257. 二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1/ \ 2 3\5输出: [“1->2->5”, “1->3”] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 Code…

dp题目分类

动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。举例:线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;区域动规:石子合并&a…

349. 两个数组的交集 golang

349. 两个数组的交集 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2] 示例 2: 输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结…

poj 1018 Communication System

首先做这个题是极其难受的,第一次去做dp的题,万事开头难,虽然以前也接触过dp,但是都极力躲避着用其他算法解决,现在专门练这部分,倒觉得,你拍什么,什么就会比想象中难很多&#xff0…

大娱乐家

大娱乐家屏幕上跳动的光标,不知道有多久我没有这样安静一会了,也不知多久没在记录那些生活中意味深长的事了,翻转脑海,却发现是一团糟,总有理还乱的错觉,我不知道自大学以来是我实在没经历那种一下子就让人…

120. 三角形最小路径和 golang

120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 3 5 1 11&…

HDU中一些DP的题目分类

DP是难点,供自已以后系统学习。 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状…

背包九讲

背包九讲--各种背包问题阅读:56462012-02-15 15:34标签:背包P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大…

golang json判断类型

json怎么判断类型 if q.Number 0 {fmt.Println("q.Number is string!Pass" )}if q.Number 0 {fmt.Println("q.Number is not string!Wrong" )}看上去很粗暴但是很实用,并没有查到满意的方法,待补充。 package main import ("…

11. 盛最多水的容器 golang

11. 盛最多水的容器 (一道比较特殊的题) 之所以说特殊是因为这个题用动态规划反而比暴力破解法还复杂。 这种容器的题,就是前后指针方向。尽量别考虑别的思路。 11. 盛最多水的容器 给你 n 个非负整数 a1,a2,…&#…