2012年9月27日 星期四

HW4 請描述ASCII的功能 與 EBCDIC的功能?


ASCII的功能

        美國信息交換標準代碼( American Standard Code for Information Interchange, ASCII )簡潔的說就是用7位數字來表示字母或其他符號。在計算機中,所有的數據在存儲和運算時都要使用二進制數表示(因為計算機用高電平和低電平分別表示1和0),例如,象a、b、c、d這樣的52個字母(包括大寫)、以及0、1等數字還有一些常用的符號(例如*、#、@等)在計算機中存儲時也要使用二進制數來表示,而具體用哪些二進制數字表示哪個符號,當然每個人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信而不造成混亂,那麼大家就必須使用相同的編碼規則,於是美國有關的標準化組織就出台了所謂的ASCII編碼,統一規定了上述常用符號用哪些二進制數來表示。


EBCDIC的功能

  主要用在IBM計算機中的EBCDIC代碼(Extended Binary Coded Decimal Interchange Code)。它採用8位碼,有256個編碼狀態,但只選用其中一部分。0-9十個數字符的高4位編碼為1111,低4位仍為0000-1001。大、小寫英文字母的編碼同樣滿足正常的排序要求,而且有簡單的對應關係,即同一個字母的大小寫的編碼值僅最高的第二位的值不同,易於識別與變換。


2012年9月20日 星期四

HW3-何謂overhead?

何謂overhead?

     所謂的Overhead就是指電腦在運作上所作出多餘的動作以人的動作作為例子,走路時只要一隻腳保持在前方就可以往前邁進。然而,當你走路時,將腳抬高30度,再右走15公分,再向左走15公分,再往前邁進。如此一來,向右15公分,再向左15公分這個舉動就是多餘的。如此的動作在計算機(電腦)上,就是Overhead。

2012年9月19日 星期三

HW2-敘述何謂二分搜尋法? 自己設一個數列來做舉例 並告訴我二分搜尋怎麼使用 還有何謂二元樹(binary tree)? 並舉例作圖~

何謂二分搜尋法?

       用以搜尋已排序的一串資料。其原理為將欲搜尋的值,與所有資料的中間值(中位數)做比對。

舉例:我用[ 10 12 15 14 13 11 16]來做二分搜尋法,先利用各種排序法(快速排序,選擇排序,泡沫排序,循序排序...)將資料做大小排列成[ 10 11 12 13 14 15 16 ]

 我要如何找到12這個數字呢?
      由於中間值13大於搜索值12。因此我們可以知道,在13之後的資料皆大於搜索值12,接著,由於13之前資料中的中間值1小大於搜索值12。我們可以知道,在11之前的資料皆小於搜索值12。最後我們就找到了搜索值12

     圖:
          第一次[ 10 11 12 13 14 15 16 ]
          第二次[ 10 11 12 ]
          第三次[ 12 ]

在二元樹中 我該怎麼在樹中查到我要的數字呢?
      (1)從樹的樹根 (root) 開始,和每個節點比較
    (2)如果現在這個數字,比現在這個節點的數字小,往左邊的子樹 (sub-tree) 走,否則就往右走
       (3)重覆步驟(2) ,比較新遇到的節點,和現在輸入的數字。如果已經走到樹的結尾,就停止。
        圖:                         13
                               11          15
                         10     12  14      16     
                                                 

   

2012年9月18日 星期二

HW1-雞兔同籠的問題

雞兔同籠,有10個頭,32條腿,雞、兔各有幾隻?

算數:
      如果全部都是兔子,總共有4*10=40條腿,可是實際上只有32條腿,少了8條腿,所以"全部    都是兔子"的假設錯誤,而且可推得當中有4隻雞,答案是4隻雞和6隻兔.

數學:
      假設雞有X隻,兔有Y隻,可得{x+y=10      
                                      {2x+4y=32
      故解x=4,y=6
      =>雞有4隻,兔有6隻