posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          先抄了《Linux編程白皮書》上的代碼,貌似不成功;google后改了下,編譯成功。
          hello.c
          #include <linux/kernel.h>
          #include 
          <linux/module.h>

          MODULE_LICENSE(
          "GPL");

          int init_module()
          {
              printk(
          "Hello, world - this is the kernel speaking\n");

              
          return 0;
          }

          void cleanup_module()
          {
              printk(
          "Short is the life of a kernel module\n");
          }

          Makefile:
          obj-m := hello.o
          KERNELBUILD := /lib/modules/`uname -r`/build
          default:
              make -C $(KERNELBUILD) M=$(shell pwd) modules

          然后
          make
          sudo insmod hello.ko    // 載入模塊
          dmesg  // 即可看到Hello, world
          sudo rmmod hello // 移除模塊
          dmesg // 看到移除時信息


          posted @ 2007-07-29 12:21 ZelluX 閱讀(333) | 評論 (0)編輯 收藏

          1. 設A, B為兩個集合,若存在從A到B的雙射函數,則稱A與B是等勢的,記為A≈B
          N*N ≈ N的一種證明:構造雙射函數 n = 2a * (2b - 1)。

          2. 設A, B, C為任意的集合,則
          (1) A≈A
          (2) 若A≈B,則B≈A
          (3) 若A≈B且B≈C,則A≈C

          3. Cantor定理
          (1) N不與R等勢
          (2) 設A為任意的集合,則A不與P(A)等勢

          4. 若一個集合A與某個自然數n等勢,則稱A是有窮集合,否則稱A為無窮集合

          posted @ 2007-07-28 19:20 ZelluX 閱讀(367) | 評論 (0)編輯 收藏

          1. 數學歸納法證明自然數的性質P:
          第一,構造 S = { n | n ∈N ∧ P(n) }
          第二,證明S是歸納集

          2. 設A為一個集合,如果A中任何元素的元素也是A的元素,則稱A為傳遞集。每個自然數都是傳遞集。
          以下命題等價:
          (1) A是傳遞集
          (2) ∪A 包含于 A
          (3) 對于任意的y∈A,y包含于A
          (4) A包含于P(A)
          (5) P(A)為傳遞集

          3. 設A為一個集合,稱從A*A到A的函數為A上的二元運算
          另+: N*N -> N,且對于任意的m, n ∈N,+(<m, n>) = Am(n), 記作m + n,稱+為N上的加法運算
          另·: N*N -> N,且對于任意的m, n ∈N,·(<m, n>) = Mm(n),記作m·n,稱·為N上的乘法運算

           

          posted @ 2007-07-28 16:37 ZelluX 閱讀(282) | 評論 (0)編輯 收藏

          1. Peano 系統

          Peano系統是滿足以下公設的有序三元組<M, F, e>,其中M為一個集合,F為M到M的函數,e為首元素。5條公設為:

          (1) e ∈M
          (2) M在F下是封閉的
          (3) e ¢ ranF (暫時只找到這個符號表示“不屬于” 囧)
          (4) F是單射的
          (5) 如果M的子集A滿足 (e屬于A) 且 (A在F下是封閉的),則A=M
          (5)稱為極小性公設

          2. 設A為一個集合,稱 A∪{A} 為A的后繼,記作A+, 并稱求集合的后繼為后繼運算

          3. 設A為一個集合,若A滿足:
          (1) Ø  ∈A,
          (2) 若對于一切 a ∈A,則 a+ ∈A,
          則稱A是歸納集

          4. 從歸納集的定義可以看出,Ø,Ø+, Ø++,... 是所有歸納集的元素,于是可以將它們定義成自然數
          自然數是屬于每個歸納集的集合,將Ø,Ø+, Ø++,...分別記為0, 1, 2, ...
          設D={v | v是歸納集|,稱∩D為全體自然數集合,記為N.
          設N為自然數集合,σ: N -> N,且σ(n) = n+, 則<N, σ, Ø>是Peano系統。
          這個Peano系統的第(5)條公設提出了證明自然數性質的一種方法,即數學歸納法,稱此公設為數學歸納法原理

          posted @ 2007-07-27 19:36 ZelluX 閱讀(397) | 評論 (0)編輯 收藏

          1. 考慮表達式3 + 4的語法分析樹,exp( exp(number (3)), op(+), exp(number (4)) )。
          還有一種更為簡單的表示方法,例如將(34 - 3) * 42表示為*(-(34, 3), 42)
          后者被稱為抽象語法樹(abstract syntax tree),它的效率更高,但是不能從中重新得到記號序列。


          2. 簡單的算術表達式的抽象語法樹的數據類型
          typedef enum {Plus, Minus, Times} OpKind;
          typedef 
          enum {OpKind, ConstKind} ExpKind;
          typedef 
          struct streenode
          {
              ExpKind kind;
              OpKind op;
              
          struct streenode *lchild, *rchild;
              
          int val;
          } STreeNode;
          typedef STreeNode 
          *SyntaxTree;


          3. 簡單算術文法的二義性解決
          例如串34 - 3 * 42,可以有兩種不同的分析樹:
          34 - 3 = 31, 31 * 42
          3 * 42 = 126, 34 - 126
          解決二義性的方法通常有兩種,一種是設置消除二義性規則(disambiguating rule),如設置運算符的優先權;另一種是將文法限制為只能分析成單一的分析樹,如將上式表示為34 - (3 * 42)。

          設置運算符的優先權
          定義如下的簡單表達式文法:
          exp -> exp addop exp | term
          addop -> + | -
          term -> term mulop term | factor
          mulop -> *
          factor -> (exp) | number
          這樣乘法被歸在term規則下,而加減法被歸在exp規則下,因此在分析樹和語法樹中加減法將更接近于根,由此也就接受了更低一級的優先權。
          這樣將算符放在不同的優先權級別中的辦法是在語法說明中使用BNF的一個標準方法,成為優先級聯(precedence cascade)。
          接下來的問題就是如何讓同級運算從左往右。
          可以將表達式文法改為
          exp -> exp addop term | term
          addop -> + | -
          term -> term mulop factor | factor
          mulop -> *
          factor -> (exp) | number
          這樣就使得加法和減法左結合,而如果寫成
          exp -> term addop exp | term
          這樣的形式,則會使得它們右結合。

          4. else 懸掛的問題
          簡單 if 語句的文法
          statement -> if-stmt | other
          if-stmt -> if (exp) statement | if (exp) statement else statement
          exp -> 0 | 1
          考慮串 if (0) if (1) other else other
          這時else other的懸掛就出現了二義性,它既可以理解為是if (0)匹配失敗后的選擇,也可以理解為if (0)匹配成功,if (1) 匹配失敗后的結果。
          消除二義性的規則是
          statement -> matched-stmt | unmatched-stmt
          matched-stmt -> if (exp) matched-stmt else matched-stmt | other
          unmatched-stmt -> if (exp) statement | if (exp) matched-stmt else unmatched-stmt
          exp -> 0|1
          由這個定義,上面的串就可以分析為
          if (0)  // unmatched-stmt
              if (1) other else other  // matched-stmt

          另外一種解決方法就是在語法中解決這個問題。
          可以要求出現else部分,或者使用一個分段關鍵字(bracketing keyword),例如
          if (1) then
              if (0) then other
              else other
              endif
          endif

          posted @ 2007-07-27 11:28 ZelluX 閱讀(8266) | 評論 (2)編輯 收藏

          先試著用Apache2.2 + PHP,但是由于上一次刪除Apache時沒刪干凈,然后我用注冊表手動刪除還是有殘留,結果Apache就廢掉了,裝也裝不上,卸也卸不掉-,-
          正好以前搗鼓.NET時裝了IIS,就干脆用這個好了。

          復制php5ts.dll和 libmysql.dll到c:\windows\system32

          打開IIS配置,默認網站->屬性->主目錄->配置->添加/編輯應用程序擴展名映射,設置可執行文件指向php5isapi.dll文件,擴展名輸入.php,選中腳本引擎和檢查文件是否存在。

          在IIS網站目錄下新建phpinfo.php,內容為<?php phpinfo();?>

          訪問http://localhost/phpinfo.php ,查看是否正確。

          posted @ 2007-07-26 11:27 ZelluX 閱讀(299) | 評論 (0)編輯 收藏

          用的是Lv6的小號,對手Lv7的神族,Luna 2Z v 5P
          對方bf bn開局,我12D分礦,造氣礦,提狗速,另外偷偷地在P主礦高地角落放了個基地。
          對手第二次用農民來偵察我的時候,我把12條狗給他看了下,然后說
          wo bao gou, bu yong zhen cha le
          對方農民在我基地兜了一圈,發現我沒騙他,回復曰
          hao de wen xi
          然后我又補了個基地,繼續主礦三基地爆狗,同時偷造的基地也快好了。
          一分鐘后,8條小狗突然出現在對方基地。
          30分鐘后,主礦被拆干凈。
          此時這個P表現的還是挺冷靜的,派狂熱站高地防守,同時不斷地補地堡。
          可惜我在狂熱堵住高地通道之前把4隊狗A了上去。
          接著這個P再次表現出了與他Lv7的等級不符的操作能力,守住了這一波進攻(當然和我沒操作也有一定的關系)
          5秒后后援的兩隊小狗趕到,再A一把,對方無奈退出。momo~~

          posted @ 2007-07-25 21:01 ZelluX 閱讀(308) | 評論 (1)編輯 收藏

          問題:

          有n個大小各不相同的螺帽及對應的螺釘,要求在O(nlogn)的復雜度內完成配對。螺釘之間、螺帽之間都無法直接比較大小,只能比較一顆螺帽與螺釘,判斷他們之間的大小差異。

          感覺和快速排序的partition差不多。

          首先任選一顆螺釘與各螺帽進行比較,分成大小兩組,另外得到與改螺釘相匹配的螺帽。

          然后用那個螺帽再和其他螺釘比較,也分成大小兩組,然后繼續二分遞歸。

           

           

          posted @ 2007-07-25 16:01 ZelluX 閱讀(396) | 評論 (0)編輯 收藏

          CLRS page 161
          偽代碼描述:
          Stooge-sort(A, i, j)
          if A[i] > A[j]
              then exchange A[i], A[]
          if i + 1  >= j
              then return
          k = (j - i + 1) / 3
          Stooge-sort(A, i, j - k)
          Stooge-sort(A, i + k , j)
          Stooge-sort(A, i, j - k)
          即先排序前2/3部分,然后是后2/3部分,最后再進行前面1/3的排序。

          a. 證明算法正確性
          由于是遞歸算法,而初始狀態顯然成立,因此只要證明當部分排序正確時,整體也能夠被正確排序:
          第一次排序后,第二部分每個數都不小于第一部分的所有數;
          第二次排序后,第二部分某些數被交換到第三部分中,此時第三部分數都不小于第二部分和第一部分的數,但是第二部分的數并不一定都小于第一部分的(因為可能包含第三部分的數,而這些數與第一部分數的大小關系無法確認);
          第三次排序后,第二部分的數都不小于第一部分的數。
          這樣,第一部分的任意數<=第二部分的任意數<=第三部分的任意數
          而且各部分的數都已排序,因此整體已被排序。

          b. 復雜度分析
          遞歸式
          T(n) = 3T(2n/3) + 1
          由Master Theorem

          T(n) = O(n^log(3/2, 3))

          posted @ 2007-07-25 14:13 ZelluX 閱讀(685) | 評論 (0)編輯 收藏

          各符號的定義與上文中最近處的定義相同。
          1. 設R屬于A*A,若R是自反的、反對稱的和傳遞的,則稱R是A上的偏序關系。 partial order
          2. 稱一個非空集合A及其A上的一個偏序關系<=組成的有序二元組(a, <=)為一個偏序集。partially ordered set, or simply poset.
          3. 若(A, <=)為一個偏序集,若對于一切x,y屬于A,如果x<=y或者y<=x成立,則稱x與y是可比的。
          4. 若x與y是可比的,且x<y(即x<=y且x!=y),但不存在z屬于A,使得x<z<y,則稱y覆蓋x。
          5. 哈斯圖作法: Hasse diagram
          (1) 省去關系圖中每個頂點處的環。
          (2) 若y覆蓋x,則將代表y的頂點放在代表x的頂點之上,并連線,省去有向邊的箭頭。
          6. 若對于一切x,y屬于A,x與y均可比,則稱<=為A上的全序關系,或線性關系。linear order
          7. 若R是反自反的和傳遞的,則稱R為A上的擬序關系,常將R記作<。
          8. 最大元 最小元 極大元 極小元 上界 下界 最小上界 最大下界
          其實這些詞的區別和高數中的很相近,“最”針對自身集合的所有元素,“極”針對自身集合的部分元素,“界”指有一個更大的包含自身集合的參照系下的情況。
          9. 線性關系中由于任何兩個元素均可比,因此哈斯圖中就可以表示為一條直線,從而容易理解線性的由來。又稱為鏈,元素個數稱為鏈的長度。
          10. 良序關系:擬全序集(A, <)中任何非空子集均有最小元。

          posted @ 2007-07-25 12:26 ZelluX 閱讀(551) | 評論 (0)編輯 收藏

          僅列出標題
          共39頁: First 上一頁 18 19 20 21 22 23 24 25 26 下一頁 Last 
          主站蜘蛛池模板: 抚州市| 青铜峡市| 阜阳市| 平舆县| 砀山县| 永州市| 从江县| 芦山县| 龙胜| 磐安县| 临江市| 闵行区| 枣庄市| 门头沟区| 昭平县| 建瓯市| 麟游县| 哈密市| 禹城市| 崇信县| 南乐县| 翼城县| 攀枝花市| 左权县| 枝江市| 皋兰县| 积石山| 庆元县| 香港| 沅江市| 民勤县| 收藏| 定襄县| 兴和县| 孝感市| 南充市| 比如县| 大方县| 汝城县| 集贤县| 西乌|