【算法导论】 学习笔记

本系列会根据 《算法导论》(Introduction to Algorithms)出版社  麻省理工学院出版社 第三版 作者是托马斯·科尔曼(Thomas H. Cormen)、查尔斯·雷瑟尔森(Charles E. Leiserson)、罗纳德·李维斯特(Ronald L. Rivest)、克利福德·斯坦(Clifford Stein)。

以及 B站视频 https://www.bilibili.com/video/BV1Tb411M7FA 进行学习

会采用伪代码 和 PYTHON 语法进行实现

It's tons of fun ! ! ! 

第二章 算法基础

2.1 插入排序(Insertion sort)

input < a_1,a_2 .....a_n>

output<a_1',a_2'......a_n'>

we want to get a new sequence from min to max

----    a_1' < a_2' <.......<a_n'

for j = 2 to A.length
    key = A[j]
    i = j - 1
    while i > 0 and A[i] > key
        A[i+1] = A[i]
        i = i - 1
    A[i + 1] =key

上述代码称之为伪代码

我们不去过多的考虑他的语法严谨性而是去考虑他的内容 


 

MIT 教授 说

perfermance (性能) is like money 

就像 we pay perfermance for object-obriened 

我们花费性能从Java中购买了一些功能 像面向对象等


A = [5, 2, 4, 6, 1, 3]
for j in range(1, len(A)):
    key = A[j]  # 2 4 6 1 3
    i = j - 1
    while i >= 0 and A[i] > key:
        # 这个循环体是让这个值不停向左移动 直到上述判断不成立
        A[i + 1] = A[i]
        i -= 1
    A[i + 1] = key

 

posted @ 2021-11-27 12:15    阅读(168)  评论(0)    收藏  举报