Java教程

【算法导论】 学习笔记

本文主要是介绍【算法导论】 学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

 

这篇关于【算法导论】 学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!