演算法學習 第一天 插入演算法

2022-07-20 16:09:13 字數 528 閱讀 2357

入程式設計師這一行不久,而且是從網路工程師半路轉過來的。聽說不懂演算法的都不能算是合格的程式設計師,馬上開始學演算法。今天第一天,加油。

看《introduction to algorithms》第三版 chapter 2 :插入演算法

書中的偽**:

for  j == 2to a.length

key =a[j]

i = j - 1

while i > 0 and a[j] >key

a[i+1] =a[i]

i = i -1a[i+1] = key

python :

a = [1,2,4,3,10,5,7,6]

for i in xrange(1,len(a)):

key =a[i]

j = i-1

while j>0 and a[j]>key:

a[j+1] =a[j]

j= j-1a[j+1] =key

print a

待續,看英文版略累

A星演算法學習第一天

路徑規劃問題是在給定的地圖上,一直起點,並給定乙個目標點,從而尋找這其中的最短路徑。動態環境下尋路 避開行人 靜態環境下尋路 最短路徑 環境成本 避開障礙物 一 介紹a星演算法 三 實施說明 草圖a 演算法分成close和open兩個集合,open集合包含候選的節點,和起始位置點,close集包含已...

基礎演算法學習第一天(快速排序演算法)

快速排序的思想 1.以陣列為例,將陣列中第乙個數或者最後乙個數為基準數記為 j 用這個基準數來將陣列分為兩個部分,基準數 j左邊部分都是比j小的數,右邊是比j大的數。2.再將左邊陣列進行快速排序,右邊也進行快速排序。這就是快速排序最基礎的思想。3.知道了思想,接下來就是如何將這個陣列該如何以j為基準...

演算法練習 第一天

求1 1!1 3!1 5!1 7!1 n 1 2n 1 下面的演算法時間複雜度為o n 2 public class leijia leicheng sum sum sign a system.out.println sign a system.out.println 結果是 sum 求1 1!1 ...