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

上海土地建设官方网站做网站有哪个软件好

上海土地建设官方网站,做网站有哪个软件好,甘孜热门抖音代运营,wordpress系统通知邮箱快速排序#xff1a; 学习快速排序#xff0c;要先复习下递归#xff1a; 递归的2个条件#xff1a; 1. 函数自己调用自己 2.有一个退出的条件 练习#xff1a;基于递归下一个函数#xff0c;计算n#xff01;并且求出当n等于10的值。 n#xff01;n * n-1*…..*1 #enc…快速排序 学习快速排序要先复习下递归 递归的2个条件 1. 函数自己调用自己 2.有一个退出的条件 练习基于递归下一个函数计算n并且求出当n等于10的值。 nn * n-1*…..*1 #enconding utf-8 def func(n): if n1: return 1 else: return n*func(n-1) print func(10) 结果3628800 快速排序也是基于递归的思想 核心思想对于一个数组 12 23 3 4 56 21 快排是从里面随机选择一个数如21把所有小于这个数字的排在它的左边把所有大于它的数排在右边。 用指针指明位置遍历数组j- 0到4 用i表示下标i左边的都是小于21的包括下标i 初始值 i-1 -1是针对最小数刚好在最后一位的极端情况 初始值j0 j控制遍历数组的下标。 用j去和21比较如果大于21则空过不处理如果小于21i要加1把i和j指向的元素交换位置 手工排序 i-1 j0 取出12,1221-à i10i和j指向的元素交换位置此时ij0都是指向lista[0];j 12 23 3 4 56 21 i0j1 取出23,21 2321,空过 12 23 3 4 56 21 i0 j2 取出3,21 321- i11;i和j对应元素位置交换,lista[1],lista[2] 12 3 23 4 56 21 i1 j3 取出421,i12; i和j对应元素位置交换 12 3 4 23 56 21 i1;j4 取出5621;空过 12 3 4 23 56 21 把下标i1的元素和最后一个元素交换位置 12 3 4 21 56 23 这样就完成了第一轮的排序。 为什么要选择最后一个数字呢 很容易找到。其实选择哪一个最后的结果都是一样的。因此为了简单我们直接就取的最后一个数作为基准数字。 下面我们来写出12 3 4 以及右子列表56 23快排一次后的结果 左 3 4 12 右23 56 快排程序 1.对于listx调用快排 2.对于listx的左子列表12 3 4进行快排对于listx的右子列表56 23进行快排 3.直到列表只有一个元素的时候退出 #enconding utf-8 def Quick_Sort(lista): def pathSort(lista,sIndex,eIndex):#第一重排序 flag lista[eIndex] i sIndex - 1 for j in xrange(sIndex,eIndex): if lista[j] i1 lista[i],lista[j] lista[j],lista[i] else: pass lista[eIndex],lista[i1] lista[i1],lista[eIndex] return i1 def qSort(listb,sIndex,eIndex): if sIndex eIndex: #如果开始位置大于等于起始位置返回 return middle pathSort(listb,sIndex,eIndex) #递归调用左子列表 qSort(listb,sIndex,middle-1) #递归调用右子列表 qSort(listb,middle1,eIndex) qSort(lista,0,len(lista)-1) return lista if __name__ __main__: print Quick_Sort([12,3,4,21,56,23]) 变形练习1修改成从大到小排列。 #enconding utf-8 def Quick_Sort(lista): def pathSort(lista,sIndex,eIndex):#第一重排序 flag lista[eIndex] i sIndex - 1 for j in xrange(sIndex,eIndex): if lista[j]flag: i1 lista[i],lista[j] lista[j],lista[i] else: pass lista[eIndex],lista[i1] lista[i1],lista[eIndex] return i1 def qSort(listb,sIndex,eIndex): if sIndex eIndex: #如果开始位置大于等于起始位置返回 return middle pathSort(listb,sIndex,eIndex) #递归调用左子列表 qSort(listb,sIndex,middle-1) #递归调用右子列表 qSort(listb,middle1,eIndex) qSort(lista,0,len(lista)-1) return lista if __name__ __main__: print Quick_Sort([12,3,4,21,56,23]) 时间复杂度 第一轮做完快排后发现基准数是最大的一个我们比较了n-1次最后一个 第二轮n-2次 第三轮n-3次 … 第n-1轮1次 123….n-1 n^2/2 时间复杂度为Onlogn 平均情况 n 第一轮n-1排列出2个列表确定了1个结点的位置 第二轮n-3排列出4个列表确定了3个结点的位置 第三轮n-7排列出8个列表确定了7个结点的位置 第四轮n-15排列 出16个列表确定了15个结点的位置 ….. 平均比较次数n-x 2^i-1 总共需要多少轮才能完成快排 2^1 2^2 …..2^i-I n 2*(1-2^i)/1 -2 –I n 2^(i1)-2-I n i1 ~ logn I ~ logn log(n-x) 最终时间复杂度为 Onlogn
http://www.pierceye.com/news/307907/

相关文章:

  • 福建漳发建设有限公司网站做网站申请什么商标
  • 专门做房产的网站上海网站开发毕业生
  • 网站域名已经解析但没有被百度等搜索引擎收录怎么办可以做投票功能的网站
  • 重庆网站设计总部什么是社交电商平台
  • 内容管理网站百度电商平台
  • 网站建设 万网网站统计插件
  • 怎么个人网站设计网站建设 不违背
  • 图片下载网站郑州联通网站备案
  • 名师工作室网站建设 意义o2o新零售系统
  • 域名查询权威网站网页设计基础填空题及答案
  • 网站建设策划方案如何写新开传奇新服网
  • dedecms网站上传服务器不是空间网站正则表达式怎么做
  • 青岛企业建设网站企业南宁网站开发建设
  • 网站备案是先做网站还是做完了备案效果好的手机网站建设
  • 做企业宣传网站沈阳妇科检查去哪个医院较好
  • 网站为什么维护wordpress 交易平台
  • 南京 电子商务网站5118数据分析平台官网
  • 试析企业网站建设模式建网站的网络公司
  • 内蒙古建设 招聘信息网站平台搭建
  • 做网站公司共有几处密码公司seo营销
  • 镇江网站制作费用广东华电建设股份有限公司网站
  • 西安知名的集团门户网站建设服务商潍坊网站开发asp培训
  • 网站服务器连接被重置为什么高德地图没有外国位置信息
  • 帝国cms 仿站 wordpress天津新亚太工程建设监理有限公司网站
  • 精品网站导航 做最好的导航网站建设数据库选择
  • 蓝杉网站建设公司贵阳网站建设公司排名
  • 苏州专业高端网站建设机构建网站公司下载快手
  • 中堂仿做网站个人网站设计论文道客巴巴
  • 怎么用ps做网站效果图24什么网站建设
  • 网站开发技术有网站建设方案 pdf