計算機考研知識點(一)

AOV和AOE

  • 頂點活動網(AOV網) :將頂點表示活動,邊表示活動之間的次序關係的網稱爲頂點活動網。
  • 拓撲序列:把AOV網中的所有頂點排成一個線性序列,該序列滿足如下條件:若AOV網中存在從viv_ivjv_j的路徑,則在該序列中,viv_i必位於vjv_j之前。
  • AOE網:帶權的有向圖,頂點表示事件,邊表示活動,權表示活動持續的時間。只有一個入度爲零的頂點(稱作源點),表示整個活動開始;只有一個出度爲零的頂點(稱作匯點)表示整個活動結束。
    在這裏插入圖片描述
    • 關鍵路徑:在AOE 網中,有些活動可以同時進行,完成一個工程所需的最短時間是從源點到匯點的最長路徑長度。長度最長的路徑稱爲關鍵路徑。
    • 關鍵活動:關鍵路徑上的活動稱作關鍵活動。
    • 事件viv_i的最早發生時間:是從源點v1v_1viv_i的最長路徑長度,記作ve(i)v_e(i)
    • 事件viv_i的最遲發生時間:是匯點vnv_n的最早發生時間ve(n)v_e(n)減去viv_ivnv_n的最長路徑長度,記作 vl(k)v_l(k)
    • 活動<vi,vj><v_i,v_j>的最早開始時間:是viv_i的最早開始時間,記作e(i)e(i)
    • 活動<vi,vj><v_i,v_j>的最遲開始時間:是vjv_j的最遲開始時間減去<vi,vj><v_i,v_j>的持續時間,記作l(i)l(i)
    • 活動的最早完工時間:等於當前邊指向結點的最早發生時間。
    • 活動的最晚完工時間:等於當前邊指向結點的最遲發生時間。
    • 性質:最早發生時間與最遲發生時間相等的活動爲關鍵活動。

散列表

  • 定義: 用散列法存儲的線性表叫散列表(Hash table),又稱雜湊表,哈希表,對應的函數稱爲散列函數、雜湊函數或哈希函數。
  • 散列函數(哈希函數):選取某個函數,依該函數按關鍵字計算元素的存儲位置,並按此存放;查找時,由同一個函數對給定值k計算地址,將k與地址單元中元素關鍵碼進行比較,確定查找是否成功。
  • 裝填因子:設散列表空間大小爲n,填入表中的結點數爲 m,則稱α=m/n\alpha =m/n爲散列表的裝填因子。
  • 成功查找的平均長度=查找次數總和/關鍵字總個數
  • 失敗的查找的平均長度=不成功總次數/查找位置長度,比如在線性探測再散列法中,mod表示模數 ,不成功總次數=[0,mod-1]位置到空位置的長度(此時代表查找失敗) ,查找位置長度=mod
  • 衝突:若H(k1) = H(k2), 則稱爲衝突,發生衝突的兩個關鍵字k1和k2稱爲同義詞
  • 散列函數的構造方法
    • 直接定址法:取關鍵字的某個線性函數值爲哈希地址。即: H(key) = a*key + b
      其中a、b爲常數。又稱H(key)爲自身函數。
    • 質數除餘法:如果表長爲n,取小於或等於n的最大質數m作模,關鍵字通過m取模運算,所得值作爲散列地址。
    • 平方取中法:在不知道關鍵字的全部情況時,可通過求關鍵字的平方值擴大差別,然後取中間幾位作爲哈希地址
    • 摺疊法:將關鍵碼自左到右分成位數相等的幾部分(最後一部分位數可以短些),然後將這幾部分疊加求和,並按哈希表表長,取後幾位作爲哈希地址。
  • 常見的衝突處理方法:下面的平均查找長度是經過大量的數據實驗,得出以下的經驗公式
    • 開放定址法(開地址法) :在順序存儲結構中用一定方法進行散列存取的方法,
      H(key)=dH(key) = d的單元發生衝突, 則按下面幾種方法進行探查:
      • 線性探測再散列法:若H(key)=dH(key) = d的單元發生衝突, 則按下述方法進行探查:
        hi(k)=(h(k)+i)%nh_i(k) = (h(k)+i)\%n, n是散列表的長度,1in11≤i≤n-1
        線性探測再散列平均查找長度12(1+11α)\approx \frac {1}{2}(1+\frac{1}{1-\alpha })
      • 二次探測再散列法: hi(k)=(h(k)+di)%nh_i(k) = (h(k)+d_i)\%n n是散列表的長度,
        di=12,12,22,22,,k2,k2(kn/2)d_i = 1^2, -1^2, 2^2, -2^2,…, k^2, -k^2 (k ≤ n/2)
      • 僞隨機探測再散列,取did_i=僞隨機序列(種子一樣,隨機一樣,不會變)
    • 鏈地址法(拉鍊法) :平均查找長度1+α2\approx 1+\frac{\alpha}{2 }
    • 再哈希法(雙哈希函數法)
    • 建立一個公共溢出區

  • 建立堆
    • 先建一個完全二叉樹
    • 從最後一個非葉子結點開始建堆,n個結點,最後一個非終端結點的下標是n/2\lfloor n/2 \rfloor(從1開始編號)
    • 然後繼續檢查i-2,1-3,i-4等

管程

  • 管程由四部分組成
    • ① 管程的名稱;
    • ② 局部於管程的共享數據結構說明;
    • ③ 對該數據結構進行操作的一組過程;
    • ④ 對局部於管程的共享數據設置初始值的語句。
      在這裏插入圖片描述
  • 條件變量
    • 某進程通過管程請求獲得臨界資源而未能滿足時,管程便調用wait原語使該進程等待,並將其排在等待隊列
    • 僅當另一進程訪問完成並釋放該資源之後,管程才又調用signal原語喚醒等待隊列中的隊首進程。

小知識點

  • 對於k路平衡歸併,m爲初始歸併段的個數,當(m-1)%(k-1)=0時不需要添加虛段,否則添加附加虛段個數k-1-((m-1)%(k-1))
  • 在首次適應算法,最佳適應算法,最壞適應算法,循環首次適應算法中最容易產生碎片的是最佳適應算算法(由於選擇接近的內存塊,容易產生小的碎片,不利於被利用)
  • 100BaseT快速以太網使用的導向傳輸介質是雙絞線(100表示傳輸速率爲100Mbps,Bas表示基帶傳輸,T表示雙絞線)
  • 在選擇重傳協議中,發送窗體大小+接受窗體大小2n\leq 2^n(採用n比特編號)
  • CSMA/CD協議中,在衝突域中兩個站點的單向傳播時延最多爲滿足 最小幀長=總線傳播時延*傳輸速率*2
  • 將簇號轉換成磁盤物理地址的過程由磁盤驅動程序完成。
  • 當定時器產生時鐘中斷後,由時鐘中斷服務程序更新的部分內容
    • 內核中時鐘變量的值
    • 當前進程佔用 CPU 的時間
    • 當前進程在時間片內的剩餘執行時間
  • IEEE 802.11無線局域網的MAC協議CSMA/CA進行信道預約的方法是:交換RTS與CTS幀
  • UDP協議實現分用(demultiplexing)時所依據的頭部字段是:目的端口號

參考博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章