文章 - 筆記長也NotesHazuya

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

後序表示法之計算 關於何謂後序表示法,請看「堆疊的應用—中序表示轉後序表示」這一篇文章。 計算步驟 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或其他近似語言,相當容易。

PHP常見的字串處理函數

1.addslashes() : 將 " ' 等符號加上\2.preg_match( 正則表達式 , 要比對的字串 , 比對結果) : 比對字串符合規定格式,如檢查EMAIL格式可設定表達式  :  "/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/"。比對結果為一陣列,[0]是原字串,之後為符合之字串。3.preg_replace ( $pattern , $replaceme......

佇列—環狀佇列概念與範例

環狀佇列 一般的佇列僅是單一的線性結構,若rear加入的資料已經達到最大值,即使front刪除資料,仍然會因rear已達到最大值而回傳佇列已滿,不符合實際情況,此時則使用環狀佇列解決問題。 環狀佇列的加入 環狀佇列範例(加入佇列) int max......

佇列—標準佇列基本加入與刪除範例

以下未使用物件導向設計 public class Queue { public static void main(String[] args) { Scanner input = new Scanner(System.in); int max = 3; String[] q = new String[max]; int rear = -1; int front = 0;......

堆疊—堆疊基本加入與刪除-範例程式碼

*書中以物件導向方式篩寫,為了方便此範例未用物件導向,請見諒! Scanner input=new Scanner(System.in); System.out.println("Please Keyin MAX:"); int max = input.nextInt(); String[] st=new String[max]; int top=-1;......

堆疊與佇列圖解概念

Kruskal演算法證明

    Kruskal為一種形成最小花費生成樹的演算法,它的基本步驟如下:     1.T是邊的集合,初始為空     2.從原圖中選取目前還未被選取的邊中花費最小者     3.若加入此邊不會與集合E構成迴路......

AVL高度平衡二元搜尋樹介紹

    今天要來介紹AVL樹,AVL樹是一種高效二元搜尋樹,一般的二元搜尋樹在極端狀況下,可能會退化成鏈。     這會使得搜尋時間花費增加,根據E = I +2n(這裡不寫推導過程),我們得知當樹為歪斜樹的時候E的值會是最大,而這會使得搜尋一顆樹的花費時間也最大。