初賽總彙

  • 原碼,反碼,補碼:
    原碼:第一位爲符號位,其餘爲數字位;反碼:正數的反碼與原碼相同,負數的反碼是對原碼除符號位外的位取反;補碼:正數的補碼與原碼相同,負數的補碼爲其反碼加11(上文中的正數也包括+0+0)。記住這些就可以了。

  • *與&的用法:
    這東西我也不知道怎麼描述了,我也沒有理解的很透徹之類的,*就是指針,如int p=xint ~*p=x表示pp現在是指向一個整數類型的指針,而pp就是xx的地址,&是取地址符,如intint &b=ab=a表示bb現在和aa是一個東西。當函數裏傳進去一個數之後使用了&這個符號那麼如果函數裏面這個數值發生了改變那麼對應的變量也會發生改變。

  • 計算時間複雜度:
    主定理:該定理是用於對形如T(n)=aT(nb)+ndT(n)=aT(\frac nb)+n^d的式子的快速計算。
    下面給出三種情況:

    • a<bdT(n)=Θ(nd)a<b^d\longrightarrow T(n)=\Theta(n^d)
    • a=bdT(n)=Θ(nlogba×logn)a=b^d\longrightarrow T(n)=\Theta(n^{\log_ba}\times \log_n)
    • a>bdT(n)=Θ(nlogba)a>b^d\longrightarrow T(n)=\Theta(n^{\log_ba})
      至於證明,由於時間緊迫就不放了。
  • 各類排序。

    • 插入排序:每次將一個數插入原先的已經排好序的序列裏,得到一個新的有序序列。複雜度O(n2)\mathcal{O}(n^2)。是穩定排序。
    • 選擇排序:每次找到當前序列最小的元素移到當前序列最前面,然後從剩下的序列裏面循環執行上述操作。複雜度O(n2)\mathcal{O}(n^2)。是不穩定排序(由於存在交換操作)。
    • 冒泡排序:每次檢查相鄰元素,如果前面和後面需要交換則交換,最多只需要循環n1n-1遍。平均複雜度O(n2)\mathcal{O}(n^2),下界O(n)\mathcal{O}(n)。是穩定排序。
    • 希爾排序:把序列分成若干子序列,對每個子序列執行插入排序,減小子序列中元素之間的間距,重複直到間距減少到11。複雜度O(n32)\mathcal{O}(n^\frac{3}{2})。是不穩定排序(在不同子序列裏面執行插入排序)。
    • 基數排序:把所有數字按照關鍵字拆分,按照關鍵字分配至桶裏排序。複雜度O(nmlogr)\mathcal{O}(nm\log{r}),其中rr爲基數,mm爲堆數。是穩定排序。
    • 計數排序:把所有數存入桶裏,然後遍歷桶,計算排名。複雜度O(n+w)\mathcal{O}(n+w),其中ww爲元素最大值。是穩定排序。
    • 快速排序:把元素按照一箇中間值劃分爲兩個區間,分別處理兩個區間。複雜度O(nlogn)\mathcal{O}(n\log{n})(如果因爲中間值取得不妙的話複雜度上界是O(n2)\mathcal{O}(n^2)的)。是不穩定排序。
    • 歸併排序:把已知序列分成兩段,每段都進行排序,然後合併兩段子序列。複雜度O(nlogn)\mathcal{O}(n\log{n})。是穩定排序。
    • 堆排序:把元素全部放入一個堆裏面的排序方法。複雜度O(nlogn)\mathcal{O}(n\log{n})。是不穩定排序。
  • 語言:

    • 面嚮對象語言:一類以對象作爲基本程序結構單位的程序設計語言。
      三大特點:封裝,多態,繼承。
      具體有
      • Smalltalk
      • Eiffel
      • C++
      • Java
      • PHP
      • Objective-C
      • Objective Pascal
      • c#
      • Python
      • go
      • simula 67
      • VB.net
      • VB6.0
      • 易語言
    • 面向過程語言:
      具體有
      • 彙編語言
      • B
      • C
      • Pascal
      • fortran
      • cobol
      • basic
      • algol
  • 樹的遍歷:

    • 前序遍歷:根左右
    • 中序遍歷:左根右
    • 後序遍歷:左右根
      其實這三種遍歷的名稱都是按照遍歷根的先後順序命名的。
  • Internet協議:

    • 文件傳輸協議:FTP,工作在應用層。
    • 電子郵件協議:SMTP,POP3,IMAP4,工作在應用層。
    • 超文本傳輸協議:HTTP,工作在應用層。
    • 傳輸控制協議:TCP,工作在傳輸層。
    • 網際協議:IP,工作在網絡層。
    • 用戶數據報協議:UDP,工作在傳輸層。
      TCP/IP協議:包含上述所有協議,但是由於TCP協議和IP協議最具代表性,所以稱爲TCP/IP協議,它是網絡中最基本的通信協議。
  • 各類網址

    • A類地址:1.0.0.0\longrightarrow 127.255.255.255
    • B類地址: 128.0.0.0\longrightarrow 191.255.255.255
    • C類地址:192.0.0.0\longrightarrow 223.255.255.255
    • D類地址:224.0.0.0\longrightarrow 239.255.255.255
      一些私有地址:
    • A類:10.0.0.0\longrightarrow 10.255.255.255
    • B類:172.16.0.0\longrightarrow 172.31.255.255
    • C類:192.168.0.0\longrightarrow 192.168.255.255
  • 一些有傑出貢獻的人(也就是那些要考到的人)

    • 圖靈:英國人,於19361936年提出一種抽象計算機模型:圖靈機。
    • 馮諾依曼:提出存儲程序工作原理,設計出第一臺具有存儲程序功能的計算機EDVAC
  • 計算機的一些重要獎項:

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