Time of Update: 2018-12-05
一、二叉樹(Binary Tree)是n(n>=0)個結點的有限集合,該集合或者為空白集(稱為空白二叉樹),或者由一個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。1就是一棵二叉樹 圖1二叉樹的特點:(1)每個結點最多有兩棵子樹,所以二叉樹中不存在度大於2的結點。(2)左子樹和右子樹是由順序的,次序不能顛倒。(3)即使樹中某結點只有一棵子樹,也要區分它是左子樹還是右子樹。二叉樹具有五種基本形態:(1)空二叉樹;(2)只有一個根結點;(3)根結點只有左子樹;(4
Time of Update: 2018-12-05
隊列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,我們把它簡稱為鏈隊列。為了操作上的方便,我們將隊頭指標指向鏈隊列的前端節點,而隊尾指標指向終端節點。空隊列時,front和rear都指向前端節點。樣本程式:(改變自《大話資料結構》) C++ Code 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616
Time of Update: 2018-12-05
線性表的資料對象集合為
Time of Update: 2018-12-05
當單鏈表限定只能在頭部進行插入和刪除操作的時候,即為鏈棧,一般我們會將單鏈表的頭指標和棧的棧頂指標top合二為一,通常對鏈棧來說,是不需要前端節點的,因為我們維護了棧頂指標。對於鏈棧來說,基本不存在棧滿的情況,除非記憶體已經沒有可以使用的空間,對於空棧來說,鏈表原定義是頭指標指向空,那麼鏈棧的空其實就是top = = NULL的時候。範例程式碼:(改編自《大話資料結構》) C++ Code 12345678910111213141516171819202122232425262728293031
Time of Update: 2018-12-05
如所示:E3=COUNTIF(C2:C10,">"&E2)-COUNTIF(C2:C10,">="&F2)即用大於50的個數減去大於等於100的個數就得到位於(50~100)的數值個數。 F3=SUM(COUNTIF(C2:C10,{">50",">=100"})*{1,-1})(COUNTIF(C2:C10,{">50",">=100"}) 返回{6,2}(常數陣列),接著{6,2}*{1,-1}={6,-2},sum{6,-2}=4 G3=
Time of Update: 2018-12-05
一、樹(Tree)是n(n>=0)個結點的有限集。n=0時稱為空白樹。在任意一棵非空樹中:(1)有且僅有一個特定的稱為根(root)的結點。(2)當n>1時,其餘結點可分為m(m>0)個互不相交的有限集T1,T2,....,Tm, 其中每一個集合本身又是一棵樹,並且稱為根的子樹(SubTree),1所示:圖1樹的定義之中還用到了樹的概念,即遞迴定義。2中的子樹T1和T2就是根結點A的子樹。當然D,G,H,I 組成的的樹又是B結點的子樹,E,J
Time of Update: 2018-12-05
今天同事按照資料參考用了一個上傳檔案控制項FileList用來上傳檔案,結果並不能用。他讓我幫他查出原因。 剛才和源代對比分析了一下,發現同事的form中比原始碼少了兩個屬性。他寫的是這樣:<form id="form" runat="server">原始碼的是這樣:<form id="form" method="post" runat="server"
Time of Update: 2018-12-05
在樸素的模式比對演算法中,主串的pos值(i)是不斷地回溯來完成的(見字串的基本操作中的Index函數)。而電腦的大仙們發現這種回溯其實可以是不需要的。既然i值不回溯,也就是不可以變小,那麼考慮的變化就是子串的pos值(j)了。通過分析發現子串中如果有相等字元,j值的變化就會不相同,也就是說,這個j值的變化跟主串其實沒什麼關係,關鍵就取決於子串的結構中是否有重複的問題。我們把子串各個位置的j值變化定義為一個數組next,那麼next的長度就是子串的長度(next[0]空置)。於是可以得到下面的函
Time of Update: 2018-12-05
數組有兩個端點,兩個棧有兩個棧底,讓一個棧的棧底為數組的始端,即下標為0處,另一個棧為棧的末端,即下標為數組長度n-1處。這樣,如果兩個棧增加元素,就是兩端點向中間延伸。當top1 + 1 == top2 的時候為棧滿。範例程式碼:(改編自《大話資料結構》) C++ Code 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Time of Update: 2018-12-05
隊列(Queue)是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。是一種先進先出的線性表(FIFO)。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。我們在《棧的順序儲存結構》中發現,棧操作的top指標在Push時增大而在Pop時減小,棧空間是可以重複利用的,而隊列的front、rear指標都在一直增大,雖然前面的元素已經出隊了,但它所佔的儲存空間卻不能重複利用。但大多數程式並不是這樣使用隊列的,一般情況下出隊的元素就不再有儲存價值了,這些元素的儲存空間應該回收利用,由此想到把隊列改
Time of Update: 2018-12-05
集線器:以前10M共用式乙太網路專用,現在用得比較少,只工作在物理層,連接埠與主機之間使用半雙工通訊,一般來說無論物理串連是匯流排型還是星型,它的邏輯串連都是匯流排型的,只要其中一台主機發出資訊,集線器會把資訊複製給其他的所有連接埠主機,集線器也被稱為多連接埠中繼器,串連到一個集線器的所有主機共用一個衝突域,所謂衝突域即本來不打算髮送給所有主機,但經過集線器之後所有連接埠都會收到資訊,即共用一個衝突域,此時若有其他主機發送訊息,就會發生衝突並擁堵。集線器可以當作中繼器使用進行網路長距離的中繼,但
Time of Update: 2018-12-05
人們在互連網上最常使用的就是電子郵件了,很多企業使用者也經常使用免費的電子郵件系統。今天我就給大家介紹一種在Red Hat Linux 9.0環境下啟動並執行郵件伺服器軟體Sendmail。Sendmail作為一種免費的郵件伺服器軟體,已被廣泛的應用於各種伺服器中,它在穩定性、可移植性、及確保沒有bug等方面具有一定的特色,且可以在網路中搜尋到大量的使用資料。 一.安裝Sendmail 完整安裝Red Hat Linux 9.0時,Sendmail就會自動內建,版本號碼為8.12.8-4。
Time of Update: 2018-12-05
今日是愛妻的生日,休了一天假陪了老婆一天。至少要讓自己的親人在重要的日子裡開開心心的,是我的願望。今日碰上一事,略有所思:去冰雪皇后吃冰激淋,結果付賬時竟然使用信用卡的積分完全免費的吃了一頓,聯想到麥當勞裡也可以使用手機積分免費吃漢堡。對於我們做技術的人來將,如果要做一個成功的產品推向市場,我們滿腦子想的就是品質一定要過關,一切OK,肯定大家都會滿意的。象冰雪皇后,麥當勞他們的品質應該是完全沒有問題的,但是他們也是需要各種各樣的營銷手段來推廣自己和吸引客戶。市場存在競爭,客戶的需求存在差異!不是
Time of Update: 2018-12-05
最近一直都在關注程式員素養方面的問題,可能是剛剛起步吧,每次看到前輩們的經驗之談,彷彿又把自己自滿的心情打的支離破碎,人生路漫漫,程式人生大抵也應該是如此。 人生,誰也不知道什麼時候會終結,可是每次看到前輩們說,每個程式員真正能寫程式的時間也就是在30之前,好的可能到35歲以後就是想再從事程式編寫都已經沒有那個心智了。看到他們說的那麼淒涼,自己也不免黯然,一個人一輩子的愛好,明知道自己不能終生相依,可是還是那麼執著。
Time of Update: 2018-12-05
在《二叉樹的定義和性質》中我們已經認識了二叉樹這種資料結構。我們知道鏈表的每個節點可以有一個後繼,而二叉樹(Binary Tree)的每個節點可以有兩個後繼。比如這樣定義二叉樹的節點:typedef struct node *link;struct node { unsigned char item; link l, r;};這樣的節點可以組織成所示的形態。二叉樹可以這樣遞迴地定義:1.
Time of Update: 2018-12-05
If the object is a local variable, then the data members will be be default-initialized. The initialization that happens by default depends on the type of the variable. For objects of class type, the class itself says what initializer to use if
Time of Update: 2018-12-05
前兩天在梅州辦事處蛋疼地把ubuntu升級至12.04,結果是網路標識找不到了,而且無線也無法上網了,最簡單的檢測辦法ifconfig沒找到eth1(wl的邏輯名)的資訊,證明是無線網卡沒有驅動,尋找系統設定--附加驅動,可以看到有broadcom-sta的驅動,但無法安裝,如提示:即使去查看了日誌,還是不知所云,只好先使用有線網路搜尋啊,我們校園網用的是銳捷,所以在ubuntu環境下想要連網必須安裝mentohost軟體,同學教我在啟動設定檔中寫入自動檢測串連的命令,不然每次啟動得重啟ment
Time of Update: 2018-12-05
概括來說:首先我們在瀏覽器地址欄敲下網域名稱地址,瀏覽器發出get請求,接下來進行dns網域名稱解析(後面再詳談),此時瀏覽器已經得知目標IP,此時還得知道預設閘道的mac地址,如果此前主機沒有進行arp緩衝,主機會進行arp廣播,網關得知廣播的ip的自己的,便回複自己的mac地址(A連接埠)給主機。(關於arp與mac後面再詳談)為了方便說明我用一個圖來示範(大家不要糾結於packet
Time of Update: 2018-12-05
為啥要將ubuntu換成redhat呢,因為接下來想把EDA工具都安裝在下面。最後還是因為對顯卡驅動不滿而重裝ubuntu,但這個過程還是學到很多。 寫在前面,最重要的一點就是隨身碟的燒錄引導,折騰後發現redhat的安裝明顯比ubuntu要難不少,ubuntu只要將整個iso直接燒錄到u盤上就可以直接引導安裝了。而redhat需要注意的有,先將images下面的boot.iso提取出來然後燒錄到u盤,記得寫入syslinux引導,然後將boot.iso裡面的vmlinuz,intrid.img
Time of Update: 2018-12-05
首先我們讓數組的元素都是由兩個資料域組成,data和cur。也就是說,數組的每一個下標都對應一個data和一個cur。資料域data用來存放資料元素,也就是通常我們要處理的資料;而遊標cur相當於單鏈表中的next指標,存放該元素的後繼在數組中的下標。我們把這種用數組描述的鏈表叫做靜態鏈表。數組的第一個元素,即下標為0的元素的cur就存放備用鏈表的第一個結點的下標;而數組的最後一個元素的cur則存放第一個有數值的元素的下標,相當於單鏈表的前端節點作用,當整個鏈表為空白時,則為0,表示無指向。3-