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

网站如何运作网络营销策略分析案例

网站如何运作,网络营销策略分析案例,怎么提升搜狗网站排名,视频网站建设价位1、冒泡排序 冒泡排序是一种简单的排序算法。 工作原理:重复地遍历要排序的列表,比较每对相邻项,如果它们的顺序错误就把它们交换过来。 用从小到大的排序举例,先比较第1和第2,再比较第2和第3,再比较第3和第4,依次对比,每一对比过程中如果大的数在前,则两个值位置互换…

在这里插入图片描述

1、冒泡排序

冒泡排序是一种简单的排序算法。
工作原理:重复地遍历要排序的列表,比较每对相邻项,如果它们的顺序错误就把它们交换过来。
用从小到大的排序举例,先比较第1和第2,再比较第2和第3,再比较第3和第4,依次对比,每一对比过程中如果大的数在前,则两个值位置互换。

时间复杂度最好为O(n),最坏为O(n2),其中n是要排序的元素个数
空间复杂度为O(1),因为它只需要固定的额外空间来进行元素交换,与待排序数据量无关。
在这里插入图片描述

def bubbleSort(arr):for i in range(len(arr) - 1):  # 来回推len(arr)-1次 i就是已经排序完成了多少到最后for j in range(len(arr) - i - 1):  # 每一遍都会把未排序部分中最大的推到后面 橙色已排序的部分不需要再排了 故-iif arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]  # 大的往后排 置换数值return arr
if __name__ == '__main__':arr_li = [1, 3, 9, 4, 0, 2, 7, 5, 8, 6]print(bubbleSort(arr_li))

2、选择排序

选择排序是一种简单且直观的排序算法。
工作原理是:首先在未排序序列中找到最小(或最大)元素,然后将其放到已排序序列的首部或末尾。重复这个过程,直到整个序列有序。这种算法的时间复杂度为O(n2),不需要额外的空间,是一种不稳定的排序算法。
它和冒泡类似,每一次大遍历都是把最大或最小的放置在首部或尾部(橙色部分),需要length-1次大遍历,每次大遍历中有length-1-i次小遍历(i是已排元素个数,也是已经大遍历的次数)

选择排序的时间复杂度为O(n2),空间复杂度为O(1)。
在这里插入图片描述

def selectionSort(arr):for i in range(len(arr) - 1):minInd = i  # 放置最小值的下标for j in range(i + 1, len(arr)):  # 跳过已经排序好的前i个 每次都到len(arr)最后一个元素print(j)if arr[j] < arr[minInd]:minInd = j# 每一次大遍历后 对比剩余部分最小值和遍历起始下标值if minInd != i:arr[i], arr[minInd] = arr[minInd], arr[i]return arr
if __name__ == '__main__':arr_li = [1, 3, 9, 4, 0, 2, 7, 5, 8, 6]print(selectionSort(arr_li))

3、插入排序

插入排序是一种简单且直观的排序算法。
工作原理:依次从未排序元素的首位(或尾部)取出一个元素,将与已排序部分逐个对比,直到满足条件,将取出的元素放置在最后一次对比元素前,重复以上步骤直到未排序元素都被插入并排好序为止。

同冒泡排序时空复杂度,时间复杂度为最好为O(n),最坏为O(n2),,空间复杂度为O(1)。
在这里插入图片描述

def insertionSort(arr):for i in range(len(arr)):  # 大遍历次数len(arr)current = arr[i]  # 每次拿出一个current数组  依次和前面的作比较preInd = i - 1  # current要和这个下标的值对比 第一次是和下标-1的对比 即直接将current放在preInd前(作为排序好的首位)while preInd >= 0 and arr[preInd] > current:arr[preInd + 1] = arr[preInd]preInd -= 1  # 继续往前对比arr[preInd + 1] = current  # 直到前面没有比current大的了 将current放进刚对比的arr[preInd]前return arr
if __name__ == '__main__':arr_li = [1, 3, 9, 4, 0, 2, 7, 5, 8, 6]print(insertionSort(arr_li))

4、希尔排序

希尔排序是一种基于插入排序的排序算法,也被称为“缩小增量排序”。
工作原理:通过将待排序的数组分成若干个子序列,然后对这些子序列分别进行插入排序。这些子序列是原始数组中相隔固定增量(gap)的元素组成的。随着排序进行,增量逐渐减小,最终变为1,此时数组基本有序,最后一次插入排序即可完成排序。希尔排序的关键在于增量序列的选择,不同的增量序列会影响算法的性能。

时间复杂度取决于增量序列的选择,在O(n log2 n)与O(n2)之间。
空间复杂度为O(1),因为希尔排序在排序过程中只需要常数级别的额外空间来存储临时变量。
在这里插入图片描述

def shellSort(arr):gap = len(arr) // 2while gap > 0:  # 每一次跳gap次取元素作为一组for i in range(gap, len(arr)):  # 对同一组内的元素进行插入排序 从后往前遍历已排序的元素并插入 56789tempInd = iwhile tempInd >= gap and arr[tempInd] < arr[tempInd - gap]:arr[tempInd], arr
http://www.dtcms.com/wzjs/453930.html

相关文章:

  • 用asp做旅游网站信息流广告投放流程
  • 昆山做网站好的百度搜索排名优化
  • 东莞行业网站建设网站建设网站推广
  • 网店分销系统seo搜索引擎优化题库
  • 北京社交网站建设做网络推广有哪些平台
  • 北京网站建设公司网络营销外包网络建站报价alexa排名查询
  • 衢州做网站公司营销目标分为三个方面
  • wordpress相关推荐代码百度爱采购优化
  • 什么做的网站推广网络销售哪个平台最好
  • wordpress网站没有阅读量网络营销乐云seo
  • 做暧嗳xo小视频免费网站seo搜索引擎优化心得体会
  • 重庆市住房和城乡建设委员会网站投稿网站
  • 网站备案简单吗外链
  • 网站建设软件开发公司公众号推广费用一般多少
  • 网站点击弹出下载框 怎么做的seo整合营销
  • 教师招聘网站长城建设集团今日搜索排行榜
  • 做外贸的网站哪个好广州网络推广万企在线
  • 展览公司网站建设方案济南seo网络优化公司
  • 八爪鱼网站建设恶意点击软件哪个好
  • 武汉网站推广服务软件百度竞价怎么做
  • 网站是如何做的好搜索引擎营销的方式
  • 个人网站app企业网站设计优化公司
  • 开网站备案流程最新国际新闻热点事件
  • 温州瓯海建设局网站优化法治化营商环境
  • 东莞销售网站设计西安seo代运营
  • 云南网站建设专业品牌做什么推广最赚钱
  • wordpress访客长沙网站seo哪家公司好
  • 长沙建设网站的公司学网络营销去哪个学校
  • 公司网站建设推广今天的最新消息新闻
  • 途牛网网站是哪家公司做的在线bt磁力搜索