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

网站建设维护学什么seo高效优化

网站建设维护学什么,seo高效优化,免费空间备案,电子商务网站建设与管理的论文关于时间复杂度: 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序。O(n1)) 排序, 是介于 0 和 1 之间的常数。希尔排序。线性阶 (O(n)) 排序 基数排序&#xff0c…

关于时间复杂度:

  1. 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。
  2. 线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序。
  3. O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。希尔排序。
  4. 线性阶 (O(n)) 排序 基数排序,此外还有桶、箱排序。

关于稳定性:

稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。

不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。

名词解释:

n:数据规模

k:“桶”的个数

In-place:占用常数内存,不占用额外内存

Out-place:占用额外内存

稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同

目录

二分查找法

冒泡排序算法

选择排序算法

插入排序算法

快速排序算法

希尔排序算法

归并排序算法

堆排序

计数排序

桶排序算法

基数排序算法


二分查找法

二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

  1. 算法原理:

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置

的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,

则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。

冒泡排序算法

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成

选择排序算法

选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

插入排序算法

通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。

快速排序算法

对冒泡算法的一种改进。是指通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行,以此达到整个数据变成有序序列。

希尔排序算法

希尔排序是插入排序的一种又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法

归并排序算法

归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

堆排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:

  1. 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;
  2. 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;

计数排序

计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。

  1. 计数排序的特征
    当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。

由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序人名。但是,计数排序可以用在基数排序中的算法来排序数据范围很大的数组。

通俗地理解,例如有 10 个年龄不同的人,统计出有 8 个人的年龄比 A 小,那 A 的年龄就排在第 9 位,用这个方法可以得到其他每个人的位置,也就排好了序。当然,年龄有重复时需要特殊处理(保证稳定性),这就是为什么最后要反向填充目标数组,以及将每个数字的统计减去 1 的原因。

算法的步骤如下:

(1)找出待排序的数组中最大和最小的元素
(2)统计数组中每个值为i的元素出现的次数,存入数组C的第i项
(3)对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)
(4)反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1

桶排序算法

桶排序也叫箱排序,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是比较排序,他不受到 O(n log n) 下限的影响。

基数排序算法

基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。

http://www.dt0577.cn/news/52268.html

相关文章:

  • 如何做国外网站彩票的推广app用户量排名
  • wordpress出现百度抓取404页面南宁seo多少钱报价
  • 网站里自动切换图片怎么做百度网盘人工客服
  • 重庆建设工程信息网站批量查询权重
  • 荔湾区网站设计合肥最新消息今天
  • 企业还有人做网站么好的seo公司营销网
  • 怎么做多语言网站seo好学吗
  • 有用dojo做的网站吗互联网营销师证书含金量
  • 张店网站优化推广百度搜索历史记录
  • 外贸网站建设公司咨询百度关键词推广公司哪家好
  • 优化网站的方法有哪些杭州百度代理公司
  • 政府网站集约化建设范围会计培训机构
  • 咸阳网站建设哪家好永久免费crm客户管理系统
  • 电商 企业网站 福州360网站推广费用
  • 亚马逊网站推广怎么做发布平台有哪些
  • 苏州网站建设 苏州网络推广专家怎么制作网站平台
  • 蚂蚁中国网站建设今日国际新闻最新消息大事
  • wordpress问答站模板广告牌
  • 企业品牌策划书免费广州seo
  • 律师网站模版中国新闻网
  • 社交信息共享网站开发外包新乡seo网络推广费用
  • 做棋牌网站赚钱吗电脑网页制作
  • 做网站维护难吗代发关键词包收录
  • 创建自己的网站需要准备什么5g网络优化工程师
  • 查公司的口碑和评价的网站百度竞价托管哪家好
  • 网站开发工程师php岗位职责高端网站设计公司
  • 我想做个旅游网站怎么做软文写手
  • 网站空间在线解压什么是sem
  • 单位网站建设运维情况什么是交换链接
  • html5wap网站模板黄山搜索引擎优化