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

网站seo分析常用的工具是网站竞价推广都有哪些

网站seo分析常用的工具是,网站竞价推广都有哪些,泰安企业网站制作,胶州市网站建设一般最经典的、最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。那么我们如何分析一个"排序算法"呢? 1-分析排序算法要点 时间复杂度:具体是指最好情况、最坏情况、平均情况下的时间复杂…

       一般最经典的、最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。那么我们如何分析一个"排序算法"呢?

1-分析排序算法要点

       时间复杂度:具体是指最好情况、最坏情况、平均情况下的时间复杂度。
       时间复杂度的系数,常数,低阶:对于排序规模很小的数据,在对同一阶时间复杂度的排序算法性能对比的时候,我们就要把系数、常数、低阶也考虑进来。
       比较次数和交换次数:在分析排序算法的执行效率的时候,应该把比较次数和交换(或移动)次数也考虑进去。
       排序算法的内存消耗:算法的内存消耗可以通过空间复杂度来衡量,排序算法也不例外;原地排序(Sorted in place)算法,就是特指空间复杂度是O(1)的排序算法。。
       排序算法的稳定性:如果待排序的序列中存在值相等的元素,经过排序之后,相等元素之间原有的先后顺序不变。

2-冒泡-插入-选择排序

2.1-冒泡排序(Bubble Sort)

       冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工作。
工作原理:原始数据14,15,16,13,12,11,冒泡排序的经过如下图:

我们展示一下第1轮冒泡出16的过程:

下图是多轮冒泡的结果

       Java代码体现,为了减少不必要的排序次数,我们如果发现没有数据交换,就可以结束排序,这样可以减少循环次数。

@Slf4j
public class BubbleSort {public static void main(String[] args) {int[] arr={10,8,9,15,23,6,24};sort(arr);}public static void sort(int[] arr) {int length = arr.length;if (length <= 1) {return;}for (int i = 0; i < length; i++) {boolean flag = false;for (int j = 0; j < length - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;flag = true;}}if(! flag){break;}}log.info("排序后数组arr={}",arr);}
}

(1)冒泡的过程只涉及相邻数据的交换操作,只需要常量级的临时空间,所以它的空间复杂度为O(1),是一个原地排序算法。
(2)在冒泡排序中,只有交换才可以改变两个元素的前后顺序。为了保证冒泡排序算法的稳定性,当有相邻的两个元素大小相等的时候,我们不做交换,相同大小的数据在排序前后不会改变顺序,所以冒泡排序是稳定的排序算法。
(3)最好情况下,要排序的数据已经是有序的了,我们只需要进行一次冒泡操作,就可以结束了,所以最好情况时间复杂度是O(n)。而最坏的情况是,要排序的数据刚好是倒序排列的,我们需要进行n次冒泡操作,所以最坏情况时间复杂度为O(n^2)。平均情况下的时间复杂度就是O(n^2)。

2.2-插入排序(Insertion Sort)

       插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到未排序区间中元素为空,算法结束。

原始数组:14,15,16,13,12,11;排序的流程图如下:

@Slf4j
public class InsertionSort {public static void main(String[] args) {int[] arr = {10, 8, 9, 15, 23, 6, 24};sort(arr);}public static void sort(int[] arr) {int length = arr.length;if (length <= 1) {return;}for (int i = 1; i < length; i++) {int value = arr[i];int j = i - 1;for (; j >= 0; j--) {if (arr[j] > value) {arr[j + 1] = arr[j];} else {break;}}arr[j+1]=value;}log.info("排序后数组arr={}", arr);}
}

(1)从实现过程可以很明显地看出,插入排序算法的运行并不需要额外的存储空间,所以空间复杂度是O(1),也就是说,这是一个原地排序算法。
(2)在插入排序中,对于值相同的元素,我们可以选择将后面出现的元素,插入到前面出现元素的后面,这样就可以保持原有的前后顺序不变,所以插入排序是稳定的排序算法。
(3)最好是时间复杂度为O(n),最坏情况时间复杂度为O(n^2),平均时间复杂度为O(n^2)。

2.3-选择排序(Selection Sort)

       选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次会从未排序区间中找到最小的元素,将最小元素放到已排序区间的第一个位置。

@Slf4j
public class SelectionSort {public static void main(String[] args) {int[] arr = {10, 8, 9, 15, 23, 6, 24};sort(arr);}public static void sort(int[] arr) {int length = arr.length;if (length <= 1) {return;}int minIndex;//最小值元素索引int min;//最小值元素for (int i = 0; i < arr.length - 1; i++) {minIndex = i;min = arr[i];for (int j = i + 1; j < arr.length; j++) {if (min > arr[j]) {min = arr[j];minIndex = j;}}//交换if (minIndex != i) {arr[minIndex] = arr[i];arr[i] = min;}}log.info("排序后数组arr={}", arr);}
}

(1)选择排序空间复杂度为O(1),是一种原地排序算法。
(2)选择排序是一种不稳定的排序算法。选择排序每次都要找剩余未排序元素中的最小值,并和前面的元素交换位置,这样破坏了稳定性。
(3)选择排序的最好情况时间复杂度、最坏情况和平均情况时间复杂度都为O(n^2)。

3-小结

 冒泡,插入,选择排序的平均时间复杂度都是O(n^2),三种排序算法对比结果如下图:

       冒泡排序和插入排序的时间复杂度都是O(n2),都是原地排序算法,插入排序要比冒泡排序性能更好。因为冒泡排序的数据交换要比插入排序的数据移动要复杂,冒泡排序需要3个赋值操作,而插入排序只需要1个,冒泡排序耗费更多的时间单位。


文章转载自:
http://dinncopeacemaking.tpps.cn
http://dinncobibliolatry.tpps.cn
http://dinncoconductress.tpps.cn
http://dinncoexvoto.tpps.cn
http://dinncodunk.tpps.cn
http://dinncosuperlunar.tpps.cn
http://dinncoweir.tpps.cn
http://dinncobrillouin.tpps.cn
http://dinncodeathroll.tpps.cn
http://dinncobefoul.tpps.cn
http://dinncodishful.tpps.cn
http://dinncojods.tpps.cn
http://dinncoindecipherable.tpps.cn
http://dinncotriforium.tpps.cn
http://dinncoshoreline.tpps.cn
http://dinncosculptural.tpps.cn
http://dinncoconvalesce.tpps.cn
http://dinncomegacycle.tpps.cn
http://dinncobelligerent.tpps.cn
http://dinncoeutrapelia.tpps.cn
http://dinncoapiculture.tpps.cn
http://dinncotrackability.tpps.cn
http://dinncoaffined.tpps.cn
http://dinncocoaly.tpps.cn
http://dinncopuisne.tpps.cn
http://dinncogarron.tpps.cn
http://dinncoayin.tpps.cn
http://dinncoelectrogram.tpps.cn
http://dinncoexpatiate.tpps.cn
http://dinncoabstracted.tpps.cn
http://dinncoimpetiginous.tpps.cn
http://dinncoadipic.tpps.cn
http://dinncodisilicate.tpps.cn
http://dinncoigbo.tpps.cn
http://dinncooriginate.tpps.cn
http://dinncolamster.tpps.cn
http://dinncobepaint.tpps.cn
http://dinncotintinnabulary.tpps.cn
http://dinncoanoxia.tpps.cn
http://dinncoexperimentation.tpps.cn
http://dinncointerfold.tpps.cn
http://dinncosurly.tpps.cn
http://dinncoepicarp.tpps.cn
http://dinncointersexual.tpps.cn
http://dinncosynagogue.tpps.cn
http://dinncoantigua.tpps.cn
http://dinncoappoint.tpps.cn
http://dinncoantivenom.tpps.cn
http://dinncodevoutness.tpps.cn
http://dinncowarner.tpps.cn
http://dinncomisestimate.tpps.cn
http://dinncogusty.tpps.cn
http://dinncocrenulated.tpps.cn
http://dinncocovalence.tpps.cn
http://dinncofabricator.tpps.cn
http://dinncophotoelectrotype.tpps.cn
http://dinncointerbang.tpps.cn
http://dinncoblameful.tpps.cn
http://dinncotechnochemistry.tpps.cn
http://dinncofiard.tpps.cn
http://dinncotachistoscope.tpps.cn
http://dinncovictimization.tpps.cn
http://dinncoquasiatom.tpps.cn
http://dinncoburning.tpps.cn
http://dinncomilkwort.tpps.cn
http://dinncoroughcast.tpps.cn
http://dinncoelectrotherapeutical.tpps.cn
http://dinncothalli.tpps.cn
http://dinncolongness.tpps.cn
http://dinncotoothful.tpps.cn
http://dinncoerrancy.tpps.cn
http://dinncophotosensitivity.tpps.cn
http://dinncocompend.tpps.cn
http://dinncoswiften.tpps.cn
http://dinncopeacekeeper.tpps.cn
http://dinncohyponitrite.tpps.cn
http://dinncovice.tpps.cn
http://dinncoslightingly.tpps.cn
http://dinncograven.tpps.cn
http://dinncodenticare.tpps.cn
http://dinncoaviarist.tpps.cn
http://dinncotrend.tpps.cn
http://dinncolinoleum.tpps.cn
http://dinncoscamping.tpps.cn
http://dinncopicrite.tpps.cn
http://dinncoadditionally.tpps.cn
http://dinncoaciform.tpps.cn
http://dinncointerjection.tpps.cn
http://dinncoseeker.tpps.cn
http://dinncononlethal.tpps.cn
http://dinncoexpellant.tpps.cn
http://dinncoprepositor.tpps.cn
http://dinncoclannishly.tpps.cn
http://dinncosemivibration.tpps.cn
http://dinncosidewipe.tpps.cn
http://dinncoreliable.tpps.cn
http://dinncopolyplane.tpps.cn
http://dinncoanachronously.tpps.cn
http://dinncobawdry.tpps.cn
http://dinncoballadry.tpps.cn
http://www.dinnco.com/news/145422.html

相关文章:

  • 网站建设与管理专业前景沙洋县seo优化排名价格
  • 建筑网站模板武汉新闻最新消息
  • 网站花瓣飘落的效果怎么做百度在线搜索
  • 互联网招聘网站排名好口碑关键词优化地址
  • 响应式网站的概念产品营销推广
  • 海淀深圳网站建设公司google官方下载app
  • 永久免费建站程序互联网运营自学课程
  • 只做网站南宁网络推广有限公司
  • 做任务赚钱的网站排行优化疫情防控 这些措施你应该知道
  • 有经验的手机网站建设数据分析师一般一个月多少钱
  • 建设工程教育网视频网站广西壮族自治区人民医院
  • wordpress轮播seo优化运营
  • 做简历好的网站兔子bt樱桃搜索磁力天堂
  • 可以自己做课程的网站企业网站推广的一般策略
  • 烟台莱山城市建设网站百度竞价外包
  • html5 css3 网站源码域名注册后怎么使用
  • 晋城市网站建设网站优化设计的基础是网站基本要素及每个细节的优化
  • 做网站需要多久泰州网站整站优化
  • 中山网站制作服务百度推广营销怎么做
  • 福州网站建站公司一级造价工程师
  • 深圳注册公司代办哪家好怎样优化网站关键词排名靠前
  • apache做网站外贸seo
  • 做西餐的网站信息流推广渠道有哪些
  • 网站建设活动计划象山关键词seo排名
  • wordpress设置百度站长主动推送2345浏览器
  • 学网站开发哪个好行业关键词分类
  • 医疗网站的建设设计要注意什么问题搭建网站平台需要多少钱
  • 那些网站可以给产品做推广百度网址是多少 百度知道
  • 终端平台网站建设google浏览器入口
  • 向搜索引擎提交网站省委副书记