學習C 的第三週

2021-10-18 11:42:30 字數 2998 閱讀 6583

一.sort排序

1. 須加的標頭檔案#include < algorithm>
2.sort函式有三個引數:(第三個引數可不寫)

(1)第乙個是要排序的陣列的起始位址。

(2)第二個是結束的位址(最後一位要排序的位址)

(3)第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。

// 兩個引數的模板如下
#include 

#include

int main()

,i;for

(i=0

;i<

20;i++

) cout<

<

sort

(a,a+20)

;for

(i=0

;i<

20;i++

) cout<

<

return0;

}

// 三個引數的模板如下(cmp 裡決定了你的排序方式)
``

`#include

2 #include

3 using namespace std;

4 bool cmp

(int a,int b)

58 int main()

9;11for

(int i=

0;i<

10;i++

)12 cout<

<

13sort

(a,a+

10,cmp);14

15for

(int i=

0;i<

10;i++

)16 cout<

<

17return0;

18}

// 結構體裡用這個也可以
bool cmp

(node x,node y)

2

二.bds與dfs的用法1.用途區別:

dfs多用於連通性問題因為其執行思想與人腦的思維很相似,故解決連通性問題更自然。

bfs多用於解決最短路問題,其執行過程中需要儲存每一層的資訊,所以其執行時需要儲存的資訊量較大,如果人腦也可儲存大量資訊的話,理論上人腦也可執行bfs。

多數情況執行bfs所需的記憶體會大於dfs需要的記憶體(dfs一次訪問一條路,bfs一次訪問多條路)。

2.模板區別:

dfs思想:一直往深處走,直到找到解或者走不下去為止.

演算法步驟(遞迴或棧實現)

1.訪問指定起始地點。

2.若當前訪問頂點的鄰接頂點有未被訪問的頂點,就任選乙個訪問。如果沒有就回退到最近訪問的頂點,直到與起始頂點相通的所有點被遍歷完。

3.若途中還有頂點未被訪問,則再選乙個點作為起始頂點。重複步驟2(針對非連通圖)。

演算法模板

bfs演算法思想

從某個點一直把其鄰接點走完,然後任選乙個鄰接點把與之鄰接的未被遍歷的點走完,如此反覆走完所有結點。類似於樹的層序遍歷。

演算法步驟(用佇列實現)

1.訪問指定起始點。

2.訪問當前頂點的鄰接頂點有未被訪問的頂點,並將之放入佇列中。

3.刪除佇列的隊首節點。訪問當前佇列的隊首,重複步驟2。直到隊列為空。

4.若若途中還有頂點未被訪問,則再選乙個點作為起始頂點。重複步驟2。(針對非連通圖)。

演算法模板

3.通過題目分析兩者的用法

//存圖的

int st[n]

[n];

//標記這個點有沒有被搜過

int n,m;

//n行m列

int res;

void

bfs(int x,int y));

while

(q.size()

>0)

//佇列不空 );

st[a]

[b]=1;

//標記(a,b)已經被訪問過}}

}int main()

cout << res << endl;

}

`#include

#include

using namespace std;

typedef pair

pii;

int dx[4]

=,dy[4]

=;const int n=25

;char g[n]

[n];

//存圖的

int st[n]

[n];

//標記這個點有沒有被搜過

int n,m;

//n行m列

int res;

void

dfs(int x,int y)

}int main()

cout << res << endl;

}}

第三週學習總結

這周關於深度學習的內容比較簡單,是對線性代數的簡單回顧,所以我在這裡做乙個簡單的總結。向量與矩陣 矩陣是由m n個數組成的乙個m行n列的矩形 特別地,乙個m 1矩陣也稱為乙個m維列向量 而乙個1 n矩陣 也稱為乙個n維行向量.向量可以用矩陣表示,且有時特殊矩陣就是向量.簡言之就是矩陣包含向量.矩陣加...

第三週學習總結

複習了一周唄 就感覺鞏固了一下,學習方法還是理解著背,死記硬背是不可能的,除了英語和文科這輩子都不可能死記硬背的。今天還複習了剩下的搜尋。比如拓撲排序,根據深度進行的排序?雖然又看了一遍但是還是不知道這個到底與按深度排序有什麼區別的說,總之就是先算出深度,然後從入度為0的乙個個廣搜,放進陣列就好。剩...

機器學習第三週

在進行特徵選擇之前,一般會先進行資料無量綱化處理,這樣,表徵不同屬性 單位不同 的各特徵之間才有可比性,如1cm 與 0.1kg 你怎麼比?無量綱處理方法很多,使用不同的方法,對最終的機器學習模型會產生不同的影響。本文將對常用的無量綱化技術進行總結,試圖指出他們的適用場景,並給出在python中的相...