筆記長也NotesHazuya

遞迴—河內塔

河內塔 一般河內塔有三個柱子,與N個碟盤,要將N個碟盤由A柱移動至C柱,其規則如下: 1.一次只能搬動一個盤子 2.大盤子不可以疊在小盤子上面 (小盤子必須在大盤子上) 演算法 假設要移動n個碟盤: a.當 n=1時,直接將碟盤由A移動至C b.否則: 1.搬移n-......

串列之應用—多項式相加

多項式相加 多項式相加可利用串列完成,其資料之表示方法如下: COEF

串列之應用—以串列表示堆疊與佇列

堆疊與佇列 先前我們在介紹堆疊與佇列,是以陣列實作。本篇文章將以串列的方式來實作堆疊與佇列,關於堆疊與佇列之相關介紹請看「堆疊與佇列圖解概念」一文。 以串列表示堆疊 堆疊之加入 堆疊為一個出入口,因此我們可以看做將資料加入串列的前端。 1.ptr.next=top......

鏈結串列—雙向環狀鍊結串列之介紹與範例

環狀雙向鏈結串列 雙向之鏈結串列有別於單向鏈結串列,他不僅指向後一個節點,也會指向前一個節點。 而雙向鏈結串列通常具有三個欄位,左鏈結(llink)、資料(data)、右鏈結(rlink)。請參考下圖:

鏈結串列—兩個環狀鏈結串列之連結

環狀鏈結串列 關於環狀鏈結串列之詳細介紹,請參考上一篇「串列—環狀鍊結串列之介紹與範例」。 兩個環狀串列之連結 今假設有A與B兩個串列 1.尋找A串列之末端 Atail=Ahead.next; while ( Atail.next!=Ahead)       Atail=Atail.next;

鏈結串列—環狀鏈結串列之介紹與範例

鏈結串列 上一篇文章我們已經基本的介紹過了鏈結串列,請參考上一篇文章「串列—單向鏈結串列之介紹與範例」。 環狀鏈結串列 之前在佇列時有學過"環狀佇列",同理環狀串列也是將資料的末端與資料的前端連在一起。(在環狀佇列的示意圖很像圓餅圖,但意思都是循環)

鏈結串列—單向鏈結串列之介紹與範例

鏈結串列 鏈結串列是利用指標將資料連結起來的資料結構,需要利用額外的指標空間將資料串起來。 節點:有儲存的資料與指標兩個空間 串列:負責串接各節點

堆疊的應用—後序表示法之計算

後序表示法之計算 關於何謂後序表示法,請看「堆疊的應用—中序表示轉後序表示」這一篇文章。 計算步驟 1.把此後序運算式以一字串表示 2.每次取一個字為一token,此token若為一運算元,則把該運算元push至堆疊。若此token為一運算子,則從堆疊pop出2個運算元做適當的運算......

堆疊的應用—中序表示轉後序表示

中序轉後序 中序與後序表示法: 一般我們平常使用的表示方法都屬於中序,如:a*(b+c)*d。該算式的後序則為:abc+*d*。 中序與後序的轉換: 若以上面的算式為例子,我們先依照運算子的計算先後順序將其括弧: 1.  (a*(b+c))*d 2.  ((a*(b+c))*d)

PHP介紹與基本語法

介紹 PHP(PHP:Hypertext Preprocessor)是一個網站後端程式語言,具有跨平台的特性,可在Windows及Linux上運作。由於屬於動態語言,在變數與陣列的使用上比靜態語言(如JAVA)來得簡單也更方便。 基本語法 PHP的語法近似於C家族,與JAVA也幾乎大同小異,已經學過C或其他近似語言,相當容易。