原创 數據結構(十二)

Prim和Dijkstra算法此處有前提這篇博文不去長篇大論算法分析,默認讀者已經初懂這兩種算法,但是還沒有做過相關題目,下面用一道題來鞏固這兩種算法。[問題描述]在一個直角座標(設爲100*100)平面中,隨機分佈n無線傳感器結點,匯聚

原创 【強推】23種設計模式資源彙總

由於網上關於設計模式這塊的博客數不勝數,所以在這邊進行一個彙總, 相當於本人幫大家找好高質量的博客,把我這篇博客當成目錄來索引就好,方便大家,方便自己。 創建型設計模式 工廠方法模式:定義一個用於創建對象的接口,讓子類決定實例化哪一個類,

原创 軟件體系結構基本要素

軟件體系結構(System Architecture簡稱SA) 定義 對於大規模的,分佈的,需要協作的,需要交互的,需要監測的,需要擴展的,需要演化的複雜軟件系統的規劃。 要素 組件(component )連接件 (connector)

原创 數據結構(十五)

哈希表此處有前提哈希表(Hash table,也叫散列表),是根據關鍵碼(Key-Value)而直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做散列函數,存放記錄的數組叫做

原创 數據結構(十三)

迷宮問題此處有前提這篇博文主要是借迷宮問題來掌握按鄰接表存儲的圖的遍歷搜索問題。迷宮問題就是給定一個迷宮、指定出入口,找尋可達路徑。先附上運行結果(DFS):下面我嘗試分步驟來幫助解讀代碼:1.隨機生成地圖//生成隨機地圖 #includ

原创 數據結構(八)

二叉樹(二分表示法)此處有前提以下是二叉樹的基本操作,包括二叉樹的建立,先序、中序、後序(遞歸和非遞歸方法)、層序遍歷、求二叉樹的高度、寬度,結點數、判斷是否爲二叉排序樹等。#define SIZE sizeof(BiTNode) #de

原创 數據結構(十六)

八大排序此處有前提在我學習排序算法的時候最大的感觸就是:怎麼可以有這麼多方法....直接給題,任務驅動吧~~[問題描述]利用隨機函數產生10個樣本的20000個隨機整數(其中之一已經是正序,之一是逆序),利用直接插入排序、希爾排序,冒泡排

原创 設計模式(一)

創建性設計模式 本來是想自己參考他人博客然後總結一下,貼出對自己有用的(大部分博客並不能完全契合自己當時的水平所以導致會有不少冗餘的篇幅)。結果發現lz大牛實在是大牛啊~~ 完全膜拜了可以說是…… 文字解說設計模式的比比皆是,但是能像他這

原创 數據結構系列文章假裝完結

經過一個假期的時間,差不多把自己在這門課上學到的知識點分成十六篇文章來“文化輸出”,從這個意義上有達到自己的初衷。但是問題也很明顯,這應該大概或許只有我自己看得懂的博客,可能上過同一門課的同學都看不懂。只能說,由於自己還是第一次寫博客沒啥

原创 vim 學習筆記

vim 常用指令 (以下指令都指正常模式中) 1.移動   光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用字母鍵。         h (左移) j (下行) k (上行) l

原创 數據結構(十四)

關鍵路徑此處有前提關鍵路徑:若有向圖中,諸頂點表示事件,諸有向邊表示活動持續事件,則該圖爲活動邊網絡,簡稱AOE網。AOE網中的關鍵路徑,就是完成整個網絡所需的最短時間,亦最長路徑,AOE網中,往往有若干項活動可以平行的進行,因此,從開始

原创 數據結構(四)

棧(順序結構)此處有前提#define ElemType int #define SIZE sizeof(ElemType) #define STACK_INITSIZE 5*SIZE #define STACK_INCREAMENT

原创 數據結構(九)

哈夫曼樹此處有前提哈夫曼樹(HuffmanTree)又稱最優二叉樹,是一種帶權路徑長度最短的二叉樹。主要是用來作爲哈夫曼編碼算法中定義的數據結構。對於筆者本人而言,Huffman編碼是我第一次感受到樹這種數據結構的在生活中的實際應用。以下

原创 數據結構(十一)

圖(鄰接矩陣、鄰接表實現)此處有前提這邊是以無向圖爲例,附上運行結果:附上源代碼:#include<iostream> #include<stdlib.h> #include<queue> using namespace std; #de

原创 數據結構(十)

樹(孩子兄弟表示法)此處有前提樹的常用數據結構比較多,這裏主要介紹孩子兄弟表示法。附上從文件中讀取的數據截圖:附上源代碼:#include<iostream> #include<stdlib.h> #include<fstream> #i