初赛总汇

  • 原码,反码,补码:
    原码:第一位为符号位,其余为数字位;反码:正数的反码与原码相同,负数的反码是对原码除符号位外的位取反;补码:正数的补码与原码相同,负数的补码为其反码加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
  • 计算机的一些重要奖项:

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