原创 最小生成樹

最小生成樹即在加權連通圖裏尋找n-1條邊,連接n個頂點,並且使得所有邊的權重之和最小。最小生成樹常用的算法有prim算法和kruskal算法。 1. prim算法 prim算法的基本步驟是:假設圖的頂點集合爲V,邊集合爲E,初始化集合U=

原创 單鏈表反轉C語言實現

單鏈表的反轉可以使用循環,也可以使用遞歸的方式 1.循環反轉單鏈表 循環的方法中,使用pre指向前一個結點,cur指向當前結點,每次把cur->next指向pre即可。      代碼: # include <iostream> # i

原创 多項式的表示

1.多項式的係數存放在數組中 # include <iostream> # include <cstdlib> # define max(x,y) ((x)>(y)?(x):(y)) using namespace std; const

原创 快速排序,歸併排序,堆排序python實現

快速排序的時間複雜度最好情況下爲O(n*logn),最壞情況下爲O(n^2),平均情況下爲O(n*logn),是不穩定的排序 歸併排序的時間複雜度最好情況下爲O(n*logn),最壞情況下爲O(n*logn),平均情況下爲O(n*logn

原创 判斷線段相交

1. 叉積的計算 爲了確定兩個點的相對位置,可以使用叉積 有兩個點p1和p2,如果p1xp2<0,則p1位於p2的順時針方向,p1xp2>0,則p1位於p2的逆時針方向。 p1的座標爲(x1,y1),p2的座標爲(x2,y2)  則p1x

原创 和最接近0的子序列

給定整數m,n和數組x[n],找出某個i,使得x[i]+x[i+1]+x[i+2]+x[i+3]+x[i+4]…x[i+m]最接近於零。 (0<=i<n-m) 一.暴力解法     遍歷各個i值,計算子序列的和,然後求出最接近0的 in

原创 IP地址和子網掩碼

A類IP地址 第一個字段的取值範圍:0-127  默認的子網掩碼:255.0.0.0 B類IP地址的第一個字段的取值範圍:128-191  默認的子網掩碼255.255.0.0 C類IP地址的第一個字段的取值範圍:192-223  默認的

原创 二叉查找樹python實現

1. 二叉查找樹的定義: 左子樹不爲空的時候,左子樹的結點值小於根節點,右子樹不爲空時,右子樹的結點值大於根節點,左右子樹分別爲二叉查找樹 2. 二叉查找樹的最左邊的結點即爲最小值,要查找最小值,只需遍歷左子樹的結點直到爲空爲止,同理,最

原创 B樹及其實現

B樹的定義 假設B樹的度爲t(t>=2),則B樹滿足如下要求:(參考算法導論) (1)  每個非根節點至少包含t-1個關鍵字,t個指向子節點的指針;至多包含2t-1個關鍵字,2t個指向子女的指針(葉子節點的子女爲空)。 (2)  節點的所

原创 二叉查找樹C語言實現

二叉查找樹C語言實現 1.      二叉查找樹的定義: 左子樹不爲空的時候,左子樹的結點值小於根節點,右子樹不爲空時,右子樹的結點值大於根節點,左右子樹分別爲二叉查找樹 2.      二叉查找樹的最左邊的結點即爲最小值,要查找最小值,

原创 setjmp()和longjmp()

1.語言沒有異常處理機制,可以使用setjmp和longjmp進行模擬,另外,goto語句不能在函數間跳轉,可以使用setjmp和longjmp完成函數間的跳轉。 使用setjmp()函數需要包含頭文件<setjmp.h> setjmp(

原创 計數排序、桶排序python實現

    計數排序在輸入n個0到k之間的整數時,時間複雜度最好情況下爲O(n+k),最壞情況下爲O(n+k),平均情況爲O(n+k),空間複雜度爲O(n+k),計數排序是穩定的排序。     桶排序在輸入N個數據有M個桶時,如果每個桶的數據

原创 選擇排序、插入排序、冒泡排序python實現

選擇排序的時間複雜度爲O(n^2),是不穩定的排序 冒泡排序的時間複雜度最好情況下爲O(n),最壞情況下爲O(n^2),平均情況下爲O(n^2),是穩定的排序 插入排序的時間複雜度最好情況下爲O(n),最壞情況下爲O(n^2),,平均情況

原创 單鏈表反轉python實現

單鏈表的反轉可以使用循環,也可以使用遞歸的方式 1.循環反轉單鏈表 循環的方法中,使用pre指向前一個結點,cur指向當前結點,每次把cur->next指向pre即可。      代碼: class ListNode: d

原创 fork()和多線程

一、fork()函數     在操作系統的基本概念中進程是程序的一次執行,且是擁有資源的最小單位和調度單位(在引入線程的操作系統中,線程是最小的調度單位)。在Linux系統中創建進程有兩種方式:一是由操作系統創建,二是由父進程創建進程