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

国内优秀的网站设计网络营销怎么做

国内优秀的网站设计,网络营销怎么做,戴尔网站建设成功,以下哪个单词表示搜索引擎优化TOC 前言 ​ 年后放假回来得了假期综合征,懒劲上来了,之前一直想更新的博客一拖再拖,再拖下去自己都不好意思了。 前几天看了看各个大厂的安卓面试题,发现大厂的安卓面试都会在最后考一道快速排序算法,算法对于我现在来…

@TOC

前言

​ 年后放假回来得了假期综合征,懒劲上来了,之前一直想更新的博客一拖再拖,再拖下去自己都不好意思了。

前几天看了看各个大厂的安卓面试题,发现大厂的安卓面试都会在最后考一道快速排序算法,算法对于我现在来说不太熟练,就跟着网上的敲了一下,就在这里做下总结。

快速排序算法

​ 网络上有总结快速排序算法的复杂度为nlogn。这里的nlogn表示为算法的时空复杂度。标准写法为O(n*logn)。时间复杂度为O(n),代表的是数据量增大多少倍,耗时就增大多少倍。而O(Logn

)代表的是当数据增大n倍时,耗时增大logn倍(这里是

\log_2 n

)而O(nlogn)就是当数据增大n倍时,耗时增大nlogn倍,当数据增大256倍时,耗时增大256*8倍。

原理思想就是每一次排序都找到一个基准元素,将小于基准元素的元素放在基准元素的左边,将大于基准元素的元素放在基准元素的右边。通过这个描述大概就知道了,快速排序的关键是找到这个基准元素。

算法实现

private fun quickSort(array: IntArray, left: Int, right: Int) {if (left >= right) {return}//进行第一轮排序获取分割点val index = partition(array, left, right)//排序前半部分quickSort(array, left, index - 1)//排序后半部分quickSort(array, index + 1, right)tv_result.text = array.toString()
}private fun quick(array: String) {val arr = IntArray(array.length)for (i in 0 until array.length) {arr[i] = Integer.parseInt(array.substring(i, i + 1))}if (array.isNotEmpty()) {quickSort(arr, 0, arr.size - 1)}
}
复制代码

以上是快速排序的的实现部分,其中一个方法非常关键,就是partition()。这个方法用来确定基准元素。

private fun partition(array: IntArray, left: Int, right: Int): Int {//第一个为基准元素val baseElement = array[left]var nextElement = left + 1var lastElement = rightwhile (true) {while (nextElement <= right && array[nextElement] < baseElement) nextElement++while (lastElement > left && array[lastElement] > baseElement) lastElement--//循环终止条件if (nextElement > lastElement) break// 交换 array[nextElement]与array[lastElement]val tag = array[nextElement]array[nextElement] = array[lastElement]array[lastElement] = tagnextElement++lastElement--}//将基准元素与array[nextElement]交换val tag = array[left]array[left] = array[lastElement]array[lastElement] = tag//返回基准元素所在位置return lastElement
}
复制代码

经过比照发现,数值比较少的时候插入排序算法比快速排序算法更快,效率更高。足见“快排”只是平均性能最好。

最后总结

​ 最近由快排延伸去研究了一下别的排序算法,算是对于算法第一次细致研究。算法这东西,还是挺有搞头的,锻炼数学技能。之后有机会再去研究其他的常用算法,毕竟要多多少少了解一下。

转载于:https://juejin.im/post/5c6fb227f265da2d8a55b3ec

http://www.lbrq.cn/news/2502451.html

相关文章:

  • 苏州城乡住房建设局网站优化公司哪家好
  • 网站建设公司简介模板建网站费用
  • 衡水网站建设谷歌chrome浏览器
  • 潍坊高新建设局网站网站设计方案模板
  • 茶企业网站建设模板摘抄一篇新闻
  • 蒙文网站建设的意义网站seo置顶
  • it公司做网站用什么软件seo免费工具
  • 东莞品牌网站建设报价企业文化的重要性
  • 开发做游戏的网站谷歌搜索入口手机版
  • 房屋租赁网站开发模版长沙seo霜天博客
  • 重庆有没有做网站的网络推广工具有哪些
  • 贵州公司网站建设比选公示2022最新小学生新闻
  • 太原建设设计公司网站企业建站公司热线电话
  • 网站优化排名易下拉用法网站建设黄页在线免费
  • 邢台网站建设哪家公司好邯郸seo优化公司
  • 网站建设怎么报价网站优化公司大家好
  • 做外贸的网站要多少钱线下推广方法及策略
  • 快速优化网站建设搜索引擎排名优化方案
  • 无法连接网站互联网营销师培训教程
  • 做衬衣的网站今日国际新闻头条15条
  • 如何在门户网站做推广方案福州关键词排名软件
  • 自己做套现要建网站吗临沂seo优化
  • 网站导航条用什么做北京效果好的网站推广
  • 成都装修网站建设seo企业推广案例
  • 建站工作室 网站建设工作室百度网址大全网站大全
  • app浏览器源码大全网站微商营销
  • win2003 wordpress景德镇seo
  • 网站建设公司与维护什么是软文营销
  • 寻找移动网站建设百度搜索引擎使用技巧
  • 深圳网站建设哪个公司号发帖推广哪个平台好
  • Uniswap V2 成功上线 PolkaVM:Polkadot Hub 的里程碑时刻
  • Android通知(Notification)全面解析:从基础到高级应用
  • 数分思维10:用户增长
  • rapidocr v3.3.0发布了
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • AI大模型前沿:Muyan-TTS开源零样本语音合成技术解析