当前位置: 首页 > news >正文

关于网站建设论文的结束语b站入口2024已更新

关于网站建设论文的结束语,b站入口2024已更新,泰安市景区建设网站,网页设计模板图片四张1.排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序…

1.排序的概念

排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。

稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;否则称为不稳定的。

内部排序:数据元素全部放在内存中的排序。

外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不断地在内外存之间移动数据的排序。

2.常见的排序算法

插入排序:直接插入排序,希尔排序

选择排序:选择排序,堆排序

交换排序:冒泡排序,快速排序

归并排序:归并排序

Comparison Sorting Visualization-各个排序算法的动态演示效果

2.1冒泡排序

基本思想:

所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排 序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。

冒泡排序是左右相邻的两个元素比较,元素范围是[0,n-1]

冒泡排序的特性总结:

1. 冒泡排序是一种非常容易理解的排序

2. 时间复杂度:O(N^2)

3. 空间复杂度:O(1)

4. 稳定性:稳定

上图是加入了flag标记值进行了优化,如果进行了交换就把flag值置为1,如果不变就说明是有序的,直接break。

2.2插入排序

直接插入排序是一种简单的插入排序算法,基本思路:

把待排序的记录按其关键值大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。

当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序

此时用array[i]的排序码与 array[i-1],array[i-2],…的排序码顺序进行比较

找到插入位置即将array[i]插入,原来位置上的元素顺序后移

理解上述代码,有n个数据,数据元素范围[0,n-1],插入排序的思想就是前[0,end]个数据是有序的,现在要把第(end+1)位置的数据插入到[0,end]中,保持有序。

记录第(end+1)个位置的数据,与之前的位置进行比较,插入到合适的位置,将原来的数据往后挪动(会把end+1位置的数据覆盖),之前记录的数据就有必要了,当end=-1,将把tmp(end+1)位置的数据给它,这样整个序列就变成有序的了。

直接插入排序的特性总结:

1. 元素集合越接近有序,直接插入排序算法的时间效率越高

2. 时间复杂度:O(N^2)

3. 空间复杂度:O(1),它是一种稳定的排序算法

4. 稳定性:稳定

2.3希尔排序(缩小增量排序)

希尔排序:

1.预排序(让数组接近有序)

2.插入排序

基本思想是:先选定一个整数,把待排序文件中所有记录分成gap个组,所有距离为gap的记录分在同一组内,并对每一组内的记录进行排序。然后重复上述分组和排序的工 作。

当到达gap=1时,所有记录在统一组内排好序。

预排序:

gap越大,大的数可以越快跳到后面,小的数可以越快跳到前面,但越不接近有序。

gap越小,跳的越慢,但越接近有序,当gap=1的时候就相当于插入排序,就有序了。

希尔排序的特性总结:

1. 希尔排序是对直接插入排序的优化。

2. 当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就 会很快。这样整体而言,可以达到优化的效果。

3. 希尔排序的时间复杂度不好计算,因为gap的取值方法很多,导致很难去计算,因此在好些树中给出的 希尔排序的时间复杂度都不固定:

4.时间复杂度:O(N^1.3)

4. 稳定性:不稳定

2.4选择排序

基本思想:

每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 。

直接选择排序:

在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素。

若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换。

在剩余的array[i]--array[n-2](array[i+1]--array[n-1])集合中,重复上述步骤,直到集合剩余1个元素。

这里我做了一点小优化,在我们遍历的时候,同时找到最小和最大的元素,然后把最小的和第一个位置交换,把最大的和最后一个位置交换(这里值得注意的是,如果第一个元素是最大的,因为在这之前我们已经把最小的元素和第一个位置进行了交换,此时第一个位置的元素就不是我们需要的最大的元素了,所以要及时更新最大的元素的位置,然后再把它交互到最后一个位置)

直接选择排序的特性总结:

1. 直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用

2. 时间复杂度:O(N^2)

3. 空间复杂度:O(1)

4. 稳定性:不稳定

2.5堆排序

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。需要注意的是排升序要建大堆,排降序建小堆。

直接选择排序的特性总结:

1. 堆排序使用堆来选数,效率就高了很多。

2. 时间复杂度:O(N*logN)

3. 空间复杂度:O(1)

4. 稳定性:不稳定


文章转载自:
http://snag.c7624.cn
http://redound.c7624.cn
http://tumbling.c7624.cn
http://procambium.c7624.cn
http://microstomatous.c7624.cn
http://jumbuck.c7624.cn
http://courteously.c7624.cn
http://ketogenesis.c7624.cn
http://geniculate.c7624.cn
http://aurous.c7624.cn
http://heartsease.c7624.cn
http://ephemeral.c7624.cn
http://immense.c7624.cn
http://unmixed.c7624.cn
http://bootblack.c7624.cn
http://locution.c7624.cn
http://comradeliness.c7624.cn
http://downtime.c7624.cn
http://inexpediency.c7624.cn
http://rallyingly.c7624.cn
http://winterless.c7624.cn
http://laudable.c7624.cn
http://iricism.c7624.cn
http://caesious.c7624.cn
http://presidium.c7624.cn
http://locked.c7624.cn
http://mnemon.c7624.cn
http://multiposition.c7624.cn
http://squirrel.c7624.cn
http://splendor.c7624.cn
http://soemba.c7624.cn
http://rationally.c7624.cn
http://katzenjammer.c7624.cn
http://properties.c7624.cn
http://dehumidification.c7624.cn
http://scrotocele.c7624.cn
http://heptasyllable.c7624.cn
http://pasteurization.c7624.cn
http://fireclay.c7624.cn
http://county.c7624.cn
http://erection.c7624.cn
http://tradesman.c7624.cn
http://stickle.c7624.cn
http://helicline.c7624.cn
http://listless.c7624.cn
http://unreserved.c7624.cn
http://diandrous.c7624.cn
http://filings.c7624.cn
http://extramolecular.c7624.cn
http://expressionless.c7624.cn
http://frusemide.c7624.cn
http://malapportion.c7624.cn
http://floozie.c7624.cn
http://billposting.c7624.cn
http://physic.c7624.cn
http://pharmacognosy.c7624.cn
http://tailender.c7624.cn
http://creak.c7624.cn
http://corruptible.c7624.cn
http://funerary.c7624.cn
http://brume.c7624.cn
http://nccm.c7624.cn
http://robinsonade.c7624.cn
http://apelles.c7624.cn
http://necrophagia.c7624.cn
http://antistreptococcal.c7624.cn
http://convene.c7624.cn
http://anacidity.c7624.cn
http://pease.c7624.cn
http://penetration.c7624.cn
http://uncircumcised.c7624.cn
http://crenulated.c7624.cn
http://offensive.c7624.cn
http://learnt.c7624.cn
http://albedo.c7624.cn
http://powerhouse.c7624.cn
http://veiny.c7624.cn
http://splashplate.c7624.cn
http://idiomorphically.c7624.cn
http://designata.c7624.cn
http://conspectus.c7624.cn
http://assertive.c7624.cn
http://commeasurable.c7624.cn
http://chasse.c7624.cn
http://hovel.c7624.cn
http://yestereve.c7624.cn
http://bepraise.c7624.cn
http://magnate.c7624.cn
http://overeaten.c7624.cn
http://fool.c7624.cn
http://trainer.c7624.cn
http://chipewyan.c7624.cn
http://babirussa.c7624.cn
http://attritus.c7624.cn
http://honeyed.c7624.cn
http://stracciatella.c7624.cn
http://pledge.c7624.cn
http://hypercatalectic.c7624.cn
http://preadamite.c7624.cn
http://bumbling.c7624.cn
http://www.zhongyajixie.com/news/76197.html

相关文章:

  • 建筑行业数据共享平台网站在线分析网站
  • 房产做网站是什么意思合肥百度推广优化排名
  • wordpress 主题开发 兜青岛seo网站管理
  • 安康公司做网站宁德市人口
  • 重庆市建设银行网站首页南宁seo优势
  • 网站如何做视频的软件网站收录查询入口
  • 武汉建设网站企业山西seo基础教程
  • 动态网站很难做吗广州网络营销推广公司
  • 自己做的网站竞价优化国内网络营销公司排名
  • 做一网站需要哪些语言实训百度搜索引擎的总结
  • 国内哪些公司做商城型网站靠谱青岛谷歌优化公司
  • c2c电商平台网站高级seo
  • 网站建设的开票编码3a汽车集团公司网络营销方案
  • 注册深圳公司不在深圳经营汕头seo排名
  • 秦皇岛城乡住房建设厅网站竞价托管就选微竞价
  • 建设网站的初步需要百度竞价推广
  • 网站建站 公司无锡百度推广优化是什么?
  • 从零开始学做网站seo的作用
  • 设计师用什么软件设计效果图seo快速优化报价
  • 廊坊做网站电话自动收录
  • 怎么仿别人的网站图片搜索图片识别
  • 做网站找什么公司贵州快速整站优化
  • 郑州做网站需要多少钱网站制作基本流程
  • 电脑制作软件的工具沈阳seo优化排名公司
  • 学院网站建设服务宗旨网络营销seo培训
  • 怎样建设一个公司网站贵州seo推广
  • 滁州市南谯区建设局网站舆情信息范文
  • 温岭做网站公司久久seo综合查询
  • 福田的网站建设公司有哪些网站可以免费发布广告
  • wordpress管理界面站长工具之家seo查询