演算法入門基礎知識

2022-09-21 03:54:13 字數 420 閱讀 4193

一般語言自帶的常用資料結構:(不用語言的對應資料結構名稱可能有所差異)

雜湊(hash table)。需要掌握以下基礎知識:

雜湊表(hashmap/ dict/ unordered_map等)。

棧(stack)

佇列(queue)

堆(heap)

一般語言不自帶的資料結構:(需要自己手工建立)

二叉樹(binary tree)

二叉搜尋樹(二叉查詢樹、binary search tree、bst)

簡單圖(graph)

應該掌握的入門演算法:

排序演算法:

二分法:

寬度優先遍歷(寬度優先搜尋、breadth first search、bfs):

深度優先遍歷(深度優先搜尋、depth first search、dfs):

演算法 基礎知識

插入排序法示例 將想要插入的值搜尋找到合適的位置,之前的數值一一向後移動乙個位置,騰出乙個空位置給想要插入的數值。偽 instert sort a 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 ...

演算法基礎知識

o 1 稱為不變複雜性 1項 1秒 10項 1秒 100個專案 1秒 專案的數量仍然增加10倍,但o 1 的比例因子總是1。o log n 稱為對數複雜度 1項 1秒 10項 2秒 100項 3秒 1000項 4秒 10000項 5秒 計算次數只會增加輸入值的對數。因此,在這種情況下,假定每個計算需...

演算法基礎知識

一 插入排序 撲克牌原理 n 2 原址 a 1,n 1 是排好序的,把第n個往前 二 分治法 歸併 nlgn 非原址 先分解 sort a,p,r if pa or b 三 分治法 最大子陣列問題 描述 尋找a的和最大的非空連續子陣列 解決 按中點分成兩段,遞迴找左右段各自的最大段,再找跨越中點的最...