演算法模組總結

2022-05-01 02:33:09 字數 2443 閱讀 7528

c語言的層次遍歷總結篇

1、先定義乙個佇列的結構體

typedef

struct

node;

int numislands(char** grid, int gridsize, int*gridcolsize)

3、根據輸入引數、返回值的需要定義

int landsnums = 0

;

4、模擬佇列,佇列初始化

node* queue = (node*)malloc(sizeof(node)*gridsize*gridcolsize[0

]); memset(queue,

0, sizeof(node)*gridsize*gridcolsize[0

]);

5、儲存臨時變數作為當前值

node cur;

6、根據當前選擇列表進行層次遍歷演算法

for(int i = 0; i < gridsize; i++)

if (cur.x + 1

< gridsize && grid[cur.x + 1][cur.y] == '1'

)

if (cur.y - 1 >= 0 && grid[cur.x][cur.y - 1] == '1'

)

if (cur.y + 1

< gridcolsize[0] && grid[cur.x][cur.y + 1] == '1'

) }

9、當前題目的需求進行處理

landsnums++;}}

}free

(queue);

return

landsnums;

}

被圍繞的區域

130

. 被圍繞的區域

}//遍歷矩陣,把o全部改寫成x,a全部改寫成o

for (int i = 0; i < boardsize; i++)

else

if (board[i][j] == 'm'

) }

}return

;}

130. 被圍繞的區域

並查集演算法

#include

#include

#define vertices 6

void initialise(int parent, int

rank)

}int find_root(int x, int

parent)

return

x_root;

}int union_vertices(int x, int y, int parent, int

rank)

else

else

if(rank[y_root] >rank[x_root])

else

return1;

}}int

main();

int rank[vertices] = ;

int edges[5][2] =, , ,

, };

initialise(parent,rank);

inti;

for(i = 0; i < 5; i++)

}printf(

"no cycles found.\n");

return0;

}

python os模組總結

在python的標準庫os模組中包含普遍的作業系統功能。程式能夠與平台,就靠這個模組了。下面是os模組常用的方法.1.os.sep 可以取代作業系統特定的路徑分割符 2.os.name 字串指示你正在使用的平台。比如對於windows,它是 nt 而對於linux unix使用者,它是 posix ...

os path模組總結

os.path都是和路徑指定的檔案,目錄,和路徑字串有關係的函式 os.path.isdir name 判斷name 是不是乙個目錄,name 不是目錄就返回 false os.path.isfile name 判斷name 是不是乙個檔案,不存在 name 也返回false os.path.exi...

數學模組總結

最近學的數論知識 線性篩法,高斯消元,導數積分,擴歐,組合數學。用數論優化的 dp斜率優化。先說線性篩,分為篩素數,尤拉函式,逆元,莫比烏斯 待學 篩素數 沒啥好說的 篩逆元 先求n i 表示a1 a2 ai,再求p n 表示n n 的逆元,將p i a i 1 即可得到p i 1 篩尤拉函式 根據...