本系列会根据 《算法导论》(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