2

冒泡法排序(冒泡法排序之过程)

#算法#今天用golang 写了三个常见的排序算法来测试性能,冒泡排序、快速排序、选择排序,没想到最常用的冒泡排序性能最差!

以下是三种算法对10万个无序数据进行排序的耗时

冒泡排序耗时: 11194.09ms

选择排序耗时: 3142.41ms

快速排序耗时: 3.67ms

从上面的数据可以看出来,冒泡排序最慢,快速排序最快,性能差距足足有3050倍!

这是不是最全的数据结构和算法教程

│ 01.冒泡、选择、堆排序.mp4

│ 02.插入排序.mp4

│ 03.归并排序.mp4

│ 04.快速、希尔排序.mp4

│ 05.计数、基数、桶排序.mp4

│ 06.并查集.mp4

│ 07.图、BFS、DFS、拓扑排序.mp4

│ 08.kruskal、prim.mp4

│ 09.dijkstra、bellman-ford、floyd.mp4

│ 10.KMP、BM、KR、Sunday.mp4

│ 11.Dijkstra.mp4

│ 12.Dijkstra完善、Bellman-Ford.mp4

│ 13.递归、回溯.mp4

│ 14.尾调用、尾递归、回溯.mp4

│ 15.剪枝、N皇后问题(1).mp4

│ 16-1.贪心、分治.mp4

│ 16-2.贪心、分治.mp4

│ 17-1.大数乘法、动态规划初步.mp4

│ 17-2.大数乘法、动态规划初步.mp4

│ 18.最大连续子序列和,最长上升子序列.mp4

│ 19-1.最长公共子序列.mp4

│ 19-2.最长公共子序列.mp4

│ 20-1.最长公共子串、0-1背包问题.mp4

│ 20-2.最长公共子串、0-1背包问题.mp4

│ 21-1.LIS二分搜索实现_布隆过滤器.mp4

│ 21-2.LIS二分搜索实现_布隆过滤器.mp4

│ 22-1.跳表的搜索.mp4

│ 22-2.跳表的搜索.mp4

│ 23.跳表的添加删除、BPlus树.mp4

网上看了好几个教c语言的视频,还有两个教c#的教学视频,学到for循环语句的时候,无一例外都会拿冒泡排序来举例,掌握循环的套用,今天教c#的那个老师说冒泡排序只是拿来教学用一下,面试的时候也爱考这个排序,最好是把冒泡排序的代码背下来。

但是实际开发中,是不会使用冒泡排序这个排序的方式的。原因是太慢了!

自己下来测试一下还真是,果然慢!

测试十万个数据,把降序的一个数组排成升序,最快也将近花费三十秒钟!果然是慢的出奇!

公司最近又来了个新员工,人家是老江湖了,OPCON高手!

想当年我来这个公司面试的时候,技术面试考我冒泡排序算法怎么写,我当时心想搞PLC还需要算法?之前好几年都是梯形图,语句表这类!没搞过类似C的写法!

不过还好,大学时候学过C语言,想了一会,还是想起来了,不过写的费劲,估计当时写的也不对,勉强过了,来了现在的公司!

一晃眼都五年了,五年前用ST写PLC的不是很多,现在都烂大街了!国产的很多PLC都主流推ST语言,人家的官方教程直接就是去倍福官网学习!

顺带详细讲下冒泡排序 :

以第一个数字为首,与后面第二个数字进行比较,如果第一个数字比第二个数字大,那么就把第一个数字与第二个数字的位置进行交换,否则该数字位置不变。然后第二个数字又与第三个数字进行比较,如果第二个数字大于第三个数字的话,则第二个数字与第三个数字进行位置交换......一直重复这样的操作,那么一趟排序下来就可以找出该序列的最大值了。(注意:每一趟排序的时候,之前所有排序出来的最大值不再参与本次排序)

初学者学习ST语言以及博途SCL,千万不可本末倒置。

我们学习ST语言以及博途SCL的目的,是为了PLC编程的,不是为了其它目的。不知道为什么,很多初学者在学习ST语言时,喜欢弄些所谓的算法,比如冒泡排序,还喜欢弄些唬人的东西,比如利用PLC和触摸屏HMI实现贪吃蛇。其实很多初学者,连数据类型,连数组结构体都搞不清楚,连ST语言实现通信,能不能控制伺服都搞不懂,就去研究这些东西,实在是本末倒置。

就拿排序来说,MAX和MIN是标准的IEC函数,可以实现冒泡排序,我们只需要整我ST语言中函数的调用即可,至于贪吃蛇,综合利用了结构体,数组,以及循环语句等等,如果这些都不掌握,怎么去弄贪吃蛇?当然,最基本的,还是数据类型。

鉴于大多数喷子阅读理解能力低下,选择性失明,脑回路奇特,所以,给大家总结一下本微头条的中心思想,那就是,对于初学者来说,学习ST语言就从基础入手 ,掌握基础,并从简单的PLC项目开始,等掌握熟练了,再去研究排序,贪吃蛇这些,以巩固所学的知识。万丈高楼平地起,基础不牢就去研究这些高级的东西,是研究不透的

不然,那些自以为是的菜鸡,又在哔哔,我在喷贪吃蛇了!你自己没脑子没关系,自以为是误导别人,那就是犯罪了。

PLC结构化文本编程(清华开发者书库)

同事出了几个面试题给应聘的人做完后让我复试一下。看到写的这个冒泡排序的编程题答案大吃了一惊,这语法记得很清楚啊。做测试的能有这么好的代码功底不容易啊,心里一顿暗喜,面完下来想了想不对啊,期望薪资才11K,也不高啊。于是百度上查了一下,发现有点不对劲,跟网上几乎是一样的,会不会是写的时候一个人用手机抄的答案呢?如果是抄的这也是漏了一处循环了[捂脸][捂脸]

远程视频面试,让写广度优先遍历树结构,我写了一个递归,没写对,问我能不能写冒泡排序,我说能,但是需要时间调,所以没有主动写,问了写别的就结束了。大佬们,在线面试写代码这个要求高不高,我是不是太菜了

--------------------

BFS得用队列实现,递归是深度搜索,看来你的算法题没刷够

那是二十年前的事了。

那年冬天,我家刚装锅炉烧暖气。在砸煤块时,突然停下了手。一块奇异的煤块引起了我的注意。

怎么回事呢?我们晋南襄汾县人取暖做饭都烧的是乡宁县台头镇或者是台头镇往北方向属尧都区河底镇的煤。这里的煤鸟黑发亮,断靣有的像镜靣发亮。这是非常优质的煤。烧起来人发面-样起泡。我们叫起珠子。

这天让我发愣的煤块上竟然有规则排列的小馍头状突起。这些形状是怎么形成的呢?

二十来年了,我还把它当宝贝收藏着。今天发出来,请大家转发。以引起专家注意。我以为这块煤一定有大大的研究头。不保险对煤炭的形成另有说法。大家说呢?请把你的看法发表出来。谢谢。

#了不起的中国医师#【西瓜、绿茶减轻皮肤灼伤】

1、绿茶冰润法

先用温凉的水清洁肌肤,不要用泡沫型的沐浴用品,以免产生过敏,因为晒后的肌肤比正常的肌肤更为敏感。完成洁肤之后,可以用棉棒蘸绿茶水徐徐涂抹灼伤处的肌肤,涂抹面积要完全覆盖灼伤部位。肌肤吸收茶水后要反复涂抹3—4次。此时,会明显地看到灼伤的肌肤由通红变淡,皮肤温度也开始下降,有凉爽的感觉。大约半小时后,可以用小的毛巾包裹3—5粒冰块进行冷敷,注意不要一直冷敷在同一部位,容易产生疼痛感,要不停地改变冷敷的位置,直到整个灼伤部位都感觉到毛孔收缩,小毛巾内的冰块彻底融化为止。

2、西瓜外敷法

选用吃剩的新鲜西瓜皮,用小刀将其分割成3×5厘米大小的不规则小块,去除西瓜外部的硬皮和里边的红色部分,剩下半透明的绿色薄片,放入冰箱冷藏室约5分钟取出。将处理后的半透明薄片排列在受伤的肌肤表面,10—15分钟后取下,轻拍肌肤直到西瓜液被完全吸收。

以上方法可以单独实施,也可混合实施。关键是要持续做几天,不要因为时间长而失去耐心。只有反复的操作才会看到肌肤的迅速好转,这样处理以后,晒伤的肌肤基本不会进一步发生蜕皮、起泡。

(韩新华)

装修之前必须要知道的瓦工,木工,油漆工的施工标准!赶紧收藏起来!

家装泥工工艺验收标准

1.瓷砖铺贴必须牢固,铺砖表面平整,图案安排合理,色泽协调,无

明显色差;

2.接缝平直,宽窄均匀;

3.非标准规格板材铺装部位正确,无漏贴错贴;

4.表面平整度误差不超过 3mm,接缝高低误差不超过 0.5mm,接缝直线

误差不超过 2mm,缝隙宽度误差不超过 1mm;阴阳角垂直方正,误差

小于 3mm;

5.非整砖用到合适部位,排列平直;

6.预留孔洞尺寸正确,边缘整齐;

7.墙砖无脱落、变色、空鼓、接缝不平直等情况;

8.流水坡方向正确且坡度大于千分之三,下水流畅,无积水;

家装木工吊顶验收标准

1.主龙骨间距在 900-1200mm 的范围内;

2.副龙骨间距在 400-600mm 的范围内;

3.吊杆间距不大于 700mm;

4.连接件使用完整,龙骨顺直、牢固;

5.吊顶拐角处要用整张板套割 L 型;

6.主龙骨吊筋距主龙骨端部不大于 300mm;

7.板边距墙距离 8-10mm,板接头处龙骨间隙≤4mm;

8.轻钢龙骨外表的镀锌层不允许有起皮、起瘤、脱落等缺陷;

9.轻钢龙骨在切口处无毛刺或者变形的情况;

10.木龙骨涂防火材料;

11.木质拼花,要做到相互间无缝隙或者保持统一的间隔距离;

12.天花角线接驳处顺畅,无明显不对纹和变形;

13.弧度与圆度顺畅、圆滑,多个同样造型的要确保造型的一致;

14.柜子表面平整清洁,立面垂直,色泽一致,不得有翘曲,裂缝及

损坏;

15.门与框架平行,立面垂直;

16.柜子的抽屉和柜门开关灵活,回位正确,没有异响;

17.冲击钻打孔时要注意管道走向,孔距不得大于 50cm;

18.木门窗扇及五金件安装牢固,木门窗的割角、拼缝严密平整;

19.家具框架,骨架方正,无翘曲变形。

家装油漆施工工艺标准

1.管槽处或裂缝处在批灰前,必须贴网格布做防开裂处理,用嵌缝石

膏找平;

2.批腻子,最大限度地保证腻子包括以后的乳胶漆不起壳开裂,还可

以增加腻子和墙面的粘合度,特殊情况使用 801 胶。

3.做阴、阳角的时候,要将阴阳角弹线,贴阴阳角条,然后用腻子将角

固定做直。

4.批腻子两遍打磨,然后找平。一次不要批得太厚,一层一层细腻的

往上批;每遍腻子要等干透以后,可以涂下一遍。第二遍腻子刮完,

要用灯泡对墙体进行打磨,需要修补的地方,修补之后必须再重新打

磨平整才可以刷漆;刷配套底漆一遍,面漆两遍。

5.油漆涂刷没有刷纹痕迹,不脱皮、漏刷、泛白、皱皮等;

6.漆膜表面饱和、干净,喷漆时注意保护门等其他成品;

7.家具清漆的表面厚度一致,漆面饱和、干净,没有颗粒 ;

8.墙面乳胶漆表面平整、反光均匀,没有空鼓、起泡、开裂现象;

9.木质和石膏板天花的油漆表面平整,板接处没有裂缝;

10.天花角线接驳处理顺畅,没有明显不对纹和变形;

11.带图案的纹理拼纹应准确;

12.开关插座等成品需要保护,墙面无污染、没有脏迹存在。

13.饰面板、线条颜色是否一致,手感光滑,无明显钉眼,漆膜均匀。

#装修经验分享##装修避坑小分队##装修攻略##装修那些事##生活大咖团#

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2381581/
1
上一篇内网和外网(内网和外网怎么一起用)
下一篇 正能量无限循环:推动防控措施持续优化

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部