
数据结构,算法
思维
ShiningBlueOcean
等风来不如追风去
展开
-
排序算法详解(python实现)
冒泡排序所谓冒泡排序,即是对于一个给定长度为n的无序数组,由初始位置开始,比较数组相邻两个元素,如果是逆序排列的,就交换它们的位置,重复多次之后,最大数就“沉”到了最下面的位置。第二次再从初始位置开始,将第二大的元素沉到倒数第二个位置。这样一直做n-1次,整个数组就是有序的了。值得一提的是,在第一轮操作结束之后,第二轮的操作无需比较最后一位,因为最后一位已经是最大的元素了。所以对于一个长度为n的数组,整个算法消耗的时间为: (n-1)+(n-2)+…+1=n(n-1)/2,即时间复杂度为O(n^原创 2020-07-24 22:40:15 · 883 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度的计算方法
时间复杂度简介:算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。分析一个算法的时间复杂度步骤:找到执行次数最多的语句语句执行语句的数量级用O表示结果万能方法其次:用常数1取代运行时间中的所有加法常数在修改后的运行次数函数中,只保留最高阶项如果最高阶项存在且不是1,那么我们就去除于原创 2020-07-23 13:28:03 · 1370 阅读 · 0 评论