面試題整理(演算法 資料結構)

2021-10-02 02:46:00 字數 1347 閱讀 4647

常用演算法

lowb三人組
氣泡排序:

# 當前結果是從大到小,若想從小到大排序,將a[j] < a[j+1] 改為 a[j] > a[j+1] 即可

a =[1,

4,2,

5,22,

3]n =len

(a)for i in

range(1

,n):

for j in

range

(n-i)

:if a[j]

< a[j+1]

: a[j]

,a[j+1]

= a[j+1]

,a[j]

print

(a)

選擇排序:

# 當前結果是從大到小,若想從小到大排序,將a[min] < a[j] 改為 a[min] > a[j] 即可

a =[1,

4,2,

5,22,

3]n =len

(a)for i in

range(1

,n):

min= i-

1for j in

range

(i,n)

:if a[

min]

< a[j]

:min

=j if

min!= i-1:

a[min]

,a[i-1]

= a[i-1]

,a[min

]print

(a)

插入排序:

definsertionsort

(arr)

:for i in

range(1

,len

(arr)):

key = arr[i]

j = i-

1while j >=

0and key < arr[j]

: arr[j+1]

= arr[j]

j -=

1 arr[j+1]

= key

arr =[12

,11,13

,5,6

] insertionsort(arr)

print

("排序後的陣列:"

)for i in

range

(len

(arr)):

print

("%d"

%arr[i]

)

資料結構與演算法面試題

1。計算二叉樹的深度 獲取最大深度 public static intgetmaxdepth treenode root 2。折半查詢 非遞迴 package althorgrim 1 必須採用順序儲存結果 2 關鍵字必須有序 author hanrk 2734 public class testb...

資料結構 面試題

python實現 寫個大概,import re def quick sort alist,first,last if first last return mid value alist first low first high last while low high while low mid va...

資料結構 面試題

2.棧2.2使用棧計算字尾表示式 2.3對棧的元素進行排序 2.4判斷表示式是否括號平衡 3.佇列 4.鍊錶 5.樹6.圖 7.字典樹 這是一種高效的樹形結構,但值得單獨說明 8.雜湊表 雜湊表 1.1 尋找陣列中第二小的元素 思路 公升序排序之後,輸出第二個數字 1.2 找到陣列中第乙個不重複出現...