原创 數據結構學習筆記-排序2

接着上一篇文章 3.選擇排序 簡單選擇排序:時間複雜度爲O(n^2) 一趟簡單選擇排序的過程是,通過n-i次關鍵字間的比較,從n-i+1個記錄中選出關鍵字最小的記錄,並和第i(1≤i≤n)個記錄交換。思路很簡單,直接給代碼: #inclu

原创 Huffman 編碼壓縮算法

http://news.cnblogs.com/n/143406/

原创 數據結構學習筆記-二叉樹的層序遍歷

二叉樹層序遍歷         思想很簡單利用隊列的操作,首先根結點入隊,然後從隊首出隊元素並輸出,隨後將該結點的左右孩子分別入隊,重複上述過程,直到左右孩子均爲NULL 程序中用到的結構體和隊列操作: typedef struct Bt

原创 redhat 6.5的安裝

將安裝鏡像寫入U盤以後,在使用U盤進行啓動的過程中會卡死在 press <enter> to start install process這個地方,解決辦法是在鏡像文件件中找到syslinux/syslinux.cfg文件將default

原创 UDP/TCP與fork

1.既然UDP是無連接不保證送達的,那麼就沒有必要在關閉時通知對方了,因爲這個“關閉”消息也不能保證送達,不僅如此,任何的控制信息諸如確認都不便在傳輸層發送,因爲不能保證送達。UDP是基於數據報的,第一個數據報和隨後同源同目的的第二個數

原创 字節對齊

文章最後本人做了一幅圖,一看就明白了,這個問題網上講的不少,但是都沒有把問題說透。   一、概念       對齊跟數據在內存中的位置有關。如果一個變量的內存地址正好位於它長度的整數倍,他就被稱做自然對齊。比如在32位cpu下,假設一

原创 數據結構學習筆記-二叉樹的前、中、後序遍歷,遞歸、非遞歸方式

樹和二叉樹 完全二叉樹,滿二叉樹 性質:1.二叉樹的第k層結點個數最多爲:2^(k-1)個            2.二叉樹的深度爲k則總共的結點數爲:2^(k)-1個            3.二叉樹中度爲0的結點比度爲2的結點多1個

原创 阻塞、非阻塞、同步、異步概念

簡單點說: 阻塞就是幹不完不準回來,    非阻塞就是你先幹,我現看看有其他事沒有,完了告訴我一聲 我們拿最常用的send和recv兩個函數來說吧... 比如你調用send函數發送一定的Byte,在系統內部send做的工作其實只是把數

原创 數據結構學習筆記-圖

圖 頂點(vertex):圖中的數據元素稱爲頂點。 弧(arc):<v,w>表示弧尾爲v,弧頭爲w的一條從v到w的弧。這時的圖稱爲有向圖。 邊(edge):(v,w)代替這兩個有序對,表示v和w之間的一條邊,此時的圖稱爲無向圖。 我們用n

原创 數據結構學習筆記-排序技術

排序技術 1.互換類排序 冒泡排序,複雜度爲O(n^2) void Bubblesort(int *a, int n)//考慮氣泡的樣子 { int i,j; for(i=0;ia[j+1]) { a[j]=a[j]^

原创 數據結構學習筆記-排序3

歸併排序 “歸併”含義:將兩個或兩個以上的有序表組合成一個新的有序表。 一般使用的排序方法稱爲2-路歸併排序。 含義:假設初始序列含有n個記錄,則可看成是n個有序的子序列,每個子序列的長度爲1,然後兩兩歸併,得到(n/2向上取整)個長度爲

原创 數據結構學習筆記-森林和二叉樹的轉化、最優二叉樹

森林和二叉樹的轉化 孩子兄弟表示法: 任何一棵和樹對應的二叉樹,其右子樹必爲空。森林中將第二棵樹的兄弟,則可得到森林和二叉樹的對應關係。 最優二叉樹(赫夫曼樹) 赫夫曼樹:又稱最優樹,是一類帶權路徑長度最短的樹。 樹的路徑長度:從樹根到

原创 數據結構學習筆記-線索二叉樹

線索二叉樹 二叉樹遍歷的實質:以一定的規則將一個非線性結構進行線性化操作,使每個結點在這些線性序列中有且僅有一個直接前驅和直接後繼。但是,當以二叉鏈表爲存儲結構時只能在遍歷的過程中才能得到結點的前驅、後繼,爲了存儲這種信息。引入線索二叉樹

原创 字符串匹配

字符串匹配又叫模式匹配。也就是說給一個字符串p,其長度爲m;給出一個正文字符串s,其長度爲n,通常情況下n的長度要大於m,在正文中找到這個字符串p就是模式匹配問題 1、字符串匹配的簡單算法(BF算法) C代碼: 兩種實現方式: 1.通過

原创 C++基礎

第二章類及其對象的封裝性 2.1類的定義 class 類名 {          private:                      //私有類型數據成員和成員函數          public: