首页 > 其他分享 >wanggai

wanggai

时间:2023-06-07 11:33:14浏览次数:44  
标签:arr right int wanggai printf mod left

第一章

1、冯诺依曼体系

(1)计算机系统要由运算器、控制器、存储器、输入设备、输出设备5部分组成,以运算器为核心,由控制器对系统进行集中控制。

(2)采用二进制表示数据和指令。电子元器件都容易做到两个稳定状态。

    二进制、八进制、十六进制、十进制换算之间换算

(3)存储器单元用于存放数据和指令,并线性编址,按地址访问单元。

编址范围=存储器容量(bit)/地址长度

(4)指令由操作码和地址码两部分组成,操作码给出操作的性质和类型,地址码给出要操作数据的地址。

    指令系统

地址码可以是单地址码、多地址码,也可以是空地址码

操作数存储方式

2、原码、反码、补码:注意要加上1位符号位

3、(网络安全法)第八条  国家网信部门负责统筹协调网络安全工作和相关监督管理工作。国务院电信主管部门、公安部门和其他有关机关依照本法和有关法律、行政法规的规定,在各自职责范围内负责网络安全保护和监督管理工作。

4、总线的类型:内部总线、系统总线、通信总线

5、系统总线的组成:数据总线、地址总线、控制总线、电源线

6、存储器:读写、只读、闪速、光盘、磁盘

7、奇偶校验

 

第二章

1、数据的逻辑结构:集合、线性、树形、图状

2、数据的存储结构:顺序存储结构、链式存储结构

3、时间复杂度和空间复杂度

两个n*n矩阵相乘:

for(i=0;i<n;i++)

  for(j=0;j<n;j++){

    c[i][j]=0;

    for(k=0;k<n;k++)

    c[i][j]= c[i][j]+a[i][k]*b[k][j]}

时间复杂度为T(n)=O(n3)

4、线性数据结构

线性表:任意位置

栈:后进先出、先进后出

队列:先进先出

5、查找

顺序查找法

#include<stdio.h> 

void main() 

{

    void Find(int arr[],int len);

    int m,i;

    int arr[]={1,4,6,12,45,-65,77,71,84,88,99,103,111,-120,149};

    int len=sizeof(arr)/sizeof(arr[0]);

    for(i=0;i<len;i++)

    {

        printf("%d ",arr[i]);

    }

    printf("\n");

    for(i=0;i<3;i++)  //连续查找三个数据

    {

        printf("请输入查找数据:"); 

        scanf("%d",&m);

        Find(arr,len,m);

    }

}

void Find(int arr[],int len,int m)

{

    int i;

    for(i=0;i<len;i++)

    {

        if(arr[i]-m==0)

        {

            printf("%d是数组的第%d个元素\n",m,i+1);

        }

    }

}

 

折半查找法(又称二分查找法)

#include<stdio.h>

#include<math.h>

int main()

{

    void Find(int arr[],int left,int right,int finder);

    void Selectsort(int arr[],int right);

    int i,finder;

    int arr[]={1,4,6,12,45,-65,77,71,84,88,99,103,111,-120,149};

    int left=0;

    int right=sizeof(arr)/sizeof(arr[0])-1;

    Selectsort(arr,right);

    for(i=0;i<=right;i++)

    {

        printf("%d ",arr[i]);

    }

    printf("\n");

    printf("请输入要查找的数据:");

    scanf("%d",&finder);

    Find(arr,left,right,finder);

    return 0;

}

void Selectsort(int arr[],int right)

{

    int temp,i,j;

    int minindex; //最小值的下标

    for(i=0;i<right;i++)

    {

        minindex=i;

        for(j=i+1;j<right;j++)

        {

            if(arr[j]<arr[minindex])

            {

                minindex=j;

            }

        }

        //保证最小值存储在数组arr中

        temp=arr[i];

        arr[i]=arr[minindex];

        arr[minindex]=temp;

    }

}

void Find(int arr[],int left,int right,int finder)

{

    int mid=(int)floor((left+right)/2);

    if(left>right)

    {

        printf("该数据不存在!\n");

        return ;

    }

    if(finder>arr[mid])

    {

        left=mid;

        Find(arr,left+1,right,finder);

    }else if(finder<arr[mid])

    {

        right=mid;

        Find(arr,left,right-1,finder);

    }else

    {

        printf("该数字为数组第%d个元素\n",mid+1);

        return ;

    }

}

 

6、排序

冒泡排序(Bubble Sort)

#include<stdio.h>

 

int main() {

    int n, m, i, j, temp;

    int arr[100];

 

    scanf_s("%d", &n);    //scnaf_s是更为安全的输入方式;n为元素的个数;

    for (i = 0; i < n; i++) {

        scanf_s("%d", &arr[i]);    //输入数据;

    }

 

    m = n;            //因为每进行一次第一轮循环,需要排序的数据都要“--”,因此定义变量m=n;

    for (i = 0; i < n; i++) {

        int exchange = 0;           //记录这一轮会不会有数据的交换;

        for (j = 0; j < m-1; j++) {

            if (arr[j] > arr[j + 1]) {

                temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

                exchange = 1;

            }

        }

        m--;

        if (!exchange)  //若没有数据的交换,则数据已经排列完毕,跳出循环;

            break;

    }

    for (i = 0; i < n; i++) {

        printf("%d ", arr[i]);        //输出

    }

 

    return 0;

 

}

 

快速排序(Quick Sort)

#include<stdio.h>

void Quicksort(int a[], int left, int right) {   //快排函数

    int temp;

    int mid = a[(left + right) / 2];            //找基准值

    int i = left;

    int j = right;

//在左侧找一个大于基准值的数,在右侧找一个小于基准数的数,然后交换位置

    while (i <= j) {  

        while (a[i] < mid) i++;

        while (a[j] > mid) j--;

        if (i <= j) {

            temp = a[i];

            a[i] = a[j];

            a[j] = temp;

            i++;

            j--;

        }

    }

    if (i < right) Quicksort(a, i, right);        //递归

    if (j > left) Quicksort(a, left, j);           //递归

}

 

int main() {

    int n, m, i;

    int arr[100];

    scanf_s("%d", &n);

    for (i = 0; i < n; i++) {

        scanf_s("%d", &arr[i]);                     //输入

    }

 

    Quicksort(arr, 0, n - 1);                        //调用函数

 

    for (i = 0; i < n; i++) {

        printf("%d ", arr[i]);                      //输出

    }

    return 0;

}

 

第三章

1、网络:节点、链路

2、网络的组成:网络核心、网络边缘、接入网

3、网络核心:分组交换

4、网络边缘:端系统(服务端、客户端)、B/S模式、P2P模式、混合模式

5、网络体系结构:OSI七层协议体系结构、TCP/IP协议体系结构、五层协议体系结构

OSI七层协议体系结构:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

TCP/IP协议体系结构:应用层、传输层、网络层、网络接口层

五层协议体系结构:应用层、传输层、网络层、数据链路层、物理层

6、主要网络设备:

网络层:路由器

数据链路层:交换机

网卡:数据链路层和物理层

传输媒体:物理层之下

 

第4章

防火墙技术:包过滤防火墙,

密码体制

古典密码:凯撒密码、对称密码

RSA公钥密码体制、非对称密码

 

1、RSA加密算法密钥的生成

(1)选取两个大素数p、q;

(2)计算出n=p*q,∮(n) =(p-1)*(q-1) ;

(3)随机选一整数,满足gcd(e, ∮(n) )=1;

(4)计算d,满足d*e≡1 mod ∮(n);

(5)销毁p、q及 ∮(n);

(6)得出所需的公钥和密钥

公钥为E =(n,e)

私钥为D =(n,d)

2、加密

对于明文M,用公钥 (n,e) 加密可得到密文C。

C =M   mod (n)

3、解密

对于密文C,用私钥(n,d)解密可得到明文M。

M = C   mod (n)

 

例题:选取p=3, q=5,则

n=p × q =15, ∮(15) =(p-1)×(q-1)=8

选取e=11(公钥) ,(11,8)互质,通过

d × 11 ≡1 mod 8,计算出d =3(私钥)

 
得到:公钥:(n,e)=(15,11)

私钥:(n,d)=(15,3)

 

假定明文P为整数2。则密文C为
C = Me  mod n
  = 211    mod 15
  = 2048 mod 15
  = 8

复原明文P为:
M = Cd   mod n
= 83    mod 15
=512 mod 15
= 2

 

 

第5章

远程攻击的一般步骤

扫描(攻击、防御)

口令破解的常用方法及如何防御口令破解。

缓冲区溢出攻击的主要步骤,缓冲区溢出攻击的防御方法。

 

 

第7章

电子数据特征

电子数据保全备份技术

电子数据取证的一般流程。

对于提取的电子数据,典型的分析过程。

手机需要提取的基本信息,并详细说明IMSI码、IMEI码的构成。

Hash函数,完整性校验

 

第8章

网络犯罪发展过程

涉网案件本地现场勘查的一般步骤及注意事项。

标签:arr,right,int,wanggai,printf,mod,left
From: https://www.cnblogs.com/l1star/p/17462885.html

相关文章