原创 Kruskal算法構造圖的最小生成樹

Kruskal算法的思想是: 假設聯通網T=(V,{E}),則最小生成樹的初始狀態爲只有n個頂點而無邊的非連通圖T=(V,{}),圖中每個頂點自成一個連通分量。在E中選擇代價最小的邊,若該邊依附的頂點位於不同的連通分量中,則將該邊加入T中

原创 prim算法構造最小生成樹(鄰接表和數組兩種存儲方式實現)

最小生成樹問題簡單地說就是在有N個結點的圖中尋找能連接n個結點的n-1條邊,使總的代價最小。 構造構造最小生成樹有兩個典型的算法,prim算法和Kruskal算法。 prim算法思想: 假設N={V,{E}}是聯通網,TE是N上最小生成樹

原创 PXE啓動配置及原理

利用PXE啓動可以實現爲批量計算機自動部署操作系統,在啓動之前需要設置終端的BIOS選項。進入BIOS之後,在BOOT選項中將1st Boot Devices 設成[Network:Realtek Bo];在Advanced選項中進入On

原创 構建二叉樹並實現遞歸遍歷

二叉樹的遞歸遍歷相當簡單,以下代碼實現由先序ABDFEGHC,中序DFBGEHAC確定的二叉樹,並實現遞歸的遍歷, 執行程序時輸入ABD#F##EG##H##C## #include<iostream> using namespace

原创 非遞歸先序遍歷二叉樹

非遞歸先序遍歷二叉樹由於要用到回溯,因此需要保存已訪問過的根節點的指針。可以用棧來保存已訪問過的根節點的指針,用於回溯。 代碼如下 #include <iostream> #define OK 1; #define ERROR -1; t

原创 用wubi安裝ubuntu9.04

使用wubi安裝ubuntu就像安裝普通的應用軟件一樣簡單,不需要用戶進行劃分磁盤等操作,適合新手安裝ubuntu。 安裝方式如下: 1、下載ubuntu鏡像文件後解壓,提取出wubi.exe,並將wubi.exe和ubuntu的鏡像文件

原创 非遞歸中序遍歷二叉樹

1、二叉樹的非遞歸中序遍歷 二叉樹的非遞歸中序遍歷要用到棧,思想很簡單不在贅述,一下給出完整代碼 #include<iostream> #define ERROR -1; #define OK 1; typedef char Vertex

原创 圖的廣度優先遍歷(鄰接表存儲)

圖的廣度優先搜索類似於樹的按層遍歷,遍歷過程中要用到隊列(因爲隊列中的元素爲先進先出),BFS的思想很簡單,以下給出完整的代碼 #include <iostream> typedef char InfoType; typedef char

原创 遞歸深度優先遍歷圖(DFS)(鄰接表和數組兩種方式)

圖的深度優先遍歷(DFS)類似於樹的先根遍歷,它是樹的先根遍歷的推廣。 圖的存儲結構有:數組、鄰接表、十字鏈表、鄰接多重表 1、以下程序實現用鄰接表存儲圖,並實現圖的深度優先遍歷(遞歸)方法   #include<iostream> us

原创 已知二叉樹先序、中序(中序、後序)遍歷序列,輸出後序(先序)遍歷序列

1、已知二叉樹的先序遍歷序列爲A B D F E G H C,中序遍歷序列爲D F B G E H A C,構建二叉樹並輸出二叉樹的後序遍歷序列。 思想: 先序遍歷二叉樹的順序爲 根 左子樹 右子樹 中序遍歷二叉樹的順序爲 左子樹、根、右

原创 二叉樹的非遞歸後序遍歷

1、第一種方法 非遞歸後序遍歷二叉樹比非遞歸先序、中序遍歷二叉樹稍微複雜一點。因爲後序遍歷的順序爲:左子樹、右子樹、根,因此除了要利用棧來保存需要回溯的元素之外還要設置一個能表示何時能訪問根節點的標誌。棧中要保存的數據是一個結構體;包含指

原创 構建赫夫曼樹,並輸出節點編碼

赫夫曼樹又稱最優二叉樹,是帶權路徑長度最小的二叉樹。對應於赫夫曼樹有相應的赫夫曼編碼,赫夫曼編碼有非常大的用途,例如,拍電報時,我們希望傳送的字符的編碼總長度最小,因此,我們可以爲出現頻度最大的字符賦予較短的編碼,對於出現頻度較小的字符賦

原创 ubuntu和xp兩系統間實現文件共享

情景一: 在XP系統下安裝vmware虛擬機,在虛擬機裏安裝ubuntu,那麼如何實現XP和ubuntu下文件的共享呢? 方案一: 啓動ubuntu後,在菜單欄裏點擊"VM",以此選擇"setting"->"option"->"share

原创 分層遍歷二叉樹

分層遍歷二叉樹的思想特別簡單 1、遍歷根節點 2、若根節點的左孩子和右孩子不空,則遍歷左孩子和右孩子(從左到右的遍歷,如果爲從右到左的遍歷,只需將遍歷左右孩子的順序顛倒即可) 3、重複以上過程知道二叉樹中所有的結點均遍歷完爲止 二叉樹的分

原创 linux開機啓動任務和定時執行任務

os主要有單用戶單任務、單用戶多任務、多用戶多任務幾種類型。在多用戶多任務操作系統中,對每個用戶運行環境的設置就十分重要。 一、開機自啓動任務。 我們首先要明確開機自啓動是個什麼概念。開機自啓動的任務主要在兩個時間點發生,一個是用戶沒有登