栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

算法导论练习题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法导论练习题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

算法导论-插入排序
  • 一、2.1插入排序
  • 2.1插入排序
    • 2.1-2
    • 2.1-3
    • 2.1-4
  • 2.2分析算法
    • 2.2-1
    • 2.2-2
    • 2.2-3
    • 2.2-4
  • 总结

一、2.1插入排序 2.1插入排序

遍历列表的第二个元素到最后一个元素,每次拿后面的元素与前面的元素做比较找到合适的插入位置采用一个for循环套一个while循环实现。
θ theta θ=(n2

2.1-2

代码如下(示例):

class Solution(object):
    def generate(self, A):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        for j in range(1,len(A)):
            key=A[j]
            i=j-1
            while i>=0 and A[i] 
2.1-3 

代码如下(示例):

class Solution(object):
    def generate(self, A,b):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        for i in range(len(A)):
            if A[i]==b:
                return i
        return False
a=Solution()            
print(a.generate([5,2,4,6,1,3],3))
2.1-4

代码如下(示例):

class Solution:
    def addBinary(self, a, b):
        return '{0:b}'.format(int(a, 2) + int(b, 2))
a=Solution()            
print(a.addBinary(  "1010","1011"))
2.2分析算法 2.2-1

( θ theta θ=n3
忽略低阶项和最重要项的常系数

2.2-2

选择算法:找到A中最小的元素将其与 A [ 1 ] A[1] A[1]互换,再找到次最小元素将其与 A [ 2 ] A[2] A[2]互换,对A中的前 ( n − 1 ) (n-1) (n−1)个元素按照该方式继续下去
代码如下(示例):

#采用while 循环
class Solution(object):
    def generate(self, A):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        k=0
        while k 

( θ theta θ=n2)最好和最坏情况运行时间相同


2.2-3

最好情况:1
最糟糕情况:n
平均情况: n 2 {n}over{2} 2n​
忽略低阶项和重要项的常数项系数后平均情况和糟情况都是( θ = n theta=n θ=n)

2.2-4

测试最糟糕情况


总结
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511540.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号