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

温州企业网站seo小户型室内装修设计公司网站

温州企业网站seo,小户型室内装修设计公司网站,太原网站优化服务,免费中英文网站源码一、二分查找 1、前提条件#xff1a;数据有序#xff0c;随机访问#xff1b; 2、实现#xff1a;递归实现#xff0c;非递归实现 3、注意事项#xff1a; 循环退出条件:low high,low high.说明还有一个元素#xff0c;该元素还要与key进行比较 mid的取值#xf…一、二分查找 1、前提条件数据有序随机访问 2、实现递归实现非递归实现 3、注意事项 循环退出条件:low high,low high.说明还有一个元素该元素还要与key进行比较 mid的取值midlow high/2mid low high - low1) low 和high 的更新low mid 1high mid - 1不能写成low mid 1high mid-1又可能出现死循环 代码实现 1、查找第一个与key相等的元素 2、查找最后一个与key相等的元素 3、查找最后一个小于等于key值的元素 4、查找第一个大于等于key值的元素 二、冒泡排序 如何评价一个算法 1、时间复杂度最好情况最坏情况平均情况系数和低阶项 2、空间复杂度原地排序特指空间复杂度为O1的排序 3、稳定性数据集中“相等”的元素如果排序前和排序后的相对次序不变那么这个排序就是稳定的 稳定性就是排序算法的很重要的指标 冒泡排序 比较相邻的元素如果前一个比后一个大就交换次序 对每一对相邻元素做同样的工作从第一对到最后一对。最大的元素就会位于最后位置 除最后一个元素外对其他元素重复上面的步骤直到元素的个数为1 时间复杂度 最好情况原数组有序On 最坏情况原数组逆序比较次数n-1(n-2)...1 nn-1/2 交换次数n-1n-2...1  nn-1/2 平均情况每一种情况出现的情况是相等的总情况N 比较次数大于交换的次数小于nn-1/2 交换次数nn-1/4 分析有序元素对逆序元素对逆序度有序度 有序对342414 逆序对121323 排序的过程增加有序度减少逆序度最终达到满有序度 冒泡排序交换导致有序度1逆序度-1 空间复杂度O1//原地排序 稳定性稳定arr[j]arr[j1]   才发生交换 三、选择排序(无论什么数据进去都是On2的时间复杂度所以用它的时候数据规模越小越好唯一好处是不占用额外内存) 工作原理首先在未排序序列中找到最小大元素存放到排序序列的起始位置然后再从剩余未排序中继续寻找最小大元素然后放到已排序序列的末尾以此类推直到所有元素均排序完毕选择排序不能像冒泡排序一样去优化 时间复杂度O(n2) 比较次数n-1 ...1 (n(n-1))/2 交换次数n-1; 空间复杂度O1原地排序 稳定性不稳定发生了长距离的交换 四、插入排序 工作原理通过构建有序序列对于未排序数据在已排序序列中从后向前扫描找到相应位置并插入。插入排序在从后向前扫描过程中需要反复把已排序的元素逐步向后挪位为最新元素提供插入空间 时间复杂度 最好情况On 原数组有序(比较次数n-1)交换次数原数组有序0 最坏情况On2 原数组逆序比较次数n-1n-2...1 (n(n-1))/2; 交换次数n-1(n-2)...1 (n(n-1))/2 平均情况 比较次数大于交换次数小于nn-1/2 交换次数nn-1/4逆序个数 插入排序好处当元素基本有序时其性能非常好 空间复杂度O1原地排序 稳定性稳定 冒泡排序选择排序插入排序小结 五、希尔排序缩小增量排序插入排序的改进版本 第一批打破On2这个时间复杂度的方法 gap希尔n/2、n/4、...1; gap n/25 先按gap分组组内使用简单的插入排序十个元素分为5组 第一次组间排序完成后就缩小增量gap5/22gap 1 时间复杂度比On2小和具体的gap序列相关 空间复杂度O1原地排序 稳定性不稳定会发生长距离交换 六、归并排序 先把大数组分成两个小数组直到有序再合并单个数组已经算是有序的 用递归解决 注意释放堆区数组 七、快速排序 从数列中挑出一个元素称为“基准”pivot一般情况下可以选几个值取中位数也可以选第一位或者随机位 重新排序数列所有元素比基准值小的拜访在基准前面所有元素比基准值大的摆在基准的后面相同的数可以到任意边。在这个分区退出后改基准就处于数列的中间位置也就是最终位置这个操作我们称之为分区partition 递归地把小于基准值元素地子数列和大于基准值元素地子数列排序左右两边都使用快排 i 是放下一个比基准值小的位置j放比基准值大的值先移动 j 再移动 i 先找比基准值小的再找比基准值大的交替找直到  i  j 相遇基准值的位置就确定了 因为基准值已经保存就可以移动 j 把第一个值覆盖掉以第一个值为基准 时间复杂度 最好情况每次分区都分成大小相等的两份 最坏情况每次基准值都位于最左边或者最右边 平均情况(假设每次分成三比一的情况) 空间复杂度 快速排序的改进策略基准值的选取随机选选择多个元素的中位数分区操作的优化选择多个基准值 八、堆排序 二叉堆大顶堆根节点的键大于左右子树所有结点的键并且左右子树都是大顶堆小顶堆根节点的键小于左右子树所有结点的键并且左右子树都是小顶堆 把数组看作一个完全二叉树 堆排算法 把完全二叉树构建成大顶堆找到第一个非叶子结点从后往前构建大顶堆 把堆顶元素和无序区的最后一个元素交换交换之后无序区的长度减一 把无序区重新调整成大顶堆重复上一步操作直到无序区的长度为1 归并缺点占用内存空间复杂度On快排堆排 九、基于比较的排序算法 证明基于比较 的排序算法时间复杂度的下限就是Onlogn
http://www.sadfv.cn/news/377952/

相关文章:

  • 建网站业务员南京编程培训机构
  • 做个什么样的网站wordpress登入不进去
  • 手机网站单页面软件开发就业前景如何
  • xiu主题做的网站天津自动网站建设调试
  • 成都企业建设网站电话建设网站多久到账
  • 洪山网站建设公司淄博网站建设给力臻动传媒
  • 长葛做网站长宁怎么做网站优化好
  • 福建省武夷山市城乡建设网站福州直播app开发公司
  • 企业门户网站模板分享网站建设公司行情
  • 湛江网站制作外贸网站建设案例
  • 南京网站开发南京乐识正规海外宣传推广实施方案
  • html5企业网站案例抚州seo排名
  • 网站建设 深度网wordpress页面显示什么
  • 家具网站建设的前景分析做运营必知网站
  • 内蒙古网站建设流程易企cms
  • 手机网站微信网站开发app免费制作网站模板
  • 原子艺术做的网站怎么样子项目符号在哪里设置
  • 网站 托管我的个人网页
  • 网站建设是那个行业wordpress手机上发文章
  • 网站建设综合训练报告做网络销售都做什么网站
  • 长沙教育建设信息网站wordpress wp rewrite
  • 扬中网站推广服务汕头公司建站模板
  • 隆昌市住房和城乡建设厅网站怎么查工程中标单位
  • 卖狗做网站什么关键词最好windows优化大师怎么样
  • 美橙网站企业综合信息管理系统
  • 高级网站开发工程师工资成都建设银行招聘网站
  • 做网站做什么好营销软文800字范文
  • 制作制作网站建设的兰州忠旗网站建设科技有限公司
  • 网站连接怎么做龙华线上推广
  • 手机网站怎么做域名解析做个英文网站