计算机二级C程序设计公共部分概要

9月份要考计算机二级,临阵磨枪,不快也光

看了一个视频,将连接放置如下:

1.01集 1-1.全国计算机等级考试简介_bilibili_哔哩哔哩_bilibili

*********************************
Author:INCREDIBLE_KING
     2024.07.29

此文件用来放置计算机二级相关知识点
*********************************
1.算法
算法是解题方案的准确而完整的描述,它不等于程序,也不等于计算方法
算法的基本特征:可行性、确定性、有穷性(不能陷入死循环)、有足够的情报(输入条件具备)
算法的基本要素:
    算法中对数据的运算和操作(加减乘除、与或非、大于小于等于不等于、赋值输入输出)
    算法的控制结构(顺序,分支,循环)
算法设计的基本方法:列举法,归纳法,递推法,递归法,折半查找法
算法复杂度:
    时间复杂度(时间占用):常数阶、平方阶、立方阶(a重循环,里面如果有a次n就是a次方)
    空间复杂度(内存占用)算法程序占用空间,输入初始数据占据空间,算法执行过程中占据空间
        原地工作算法:(O(1)):空间不会随着规模扩大而扩大
2.数据结构
相互有关联的数据元素的集合
研究目的:提高数据处理的速度,减少占据存储空间
包括逻辑结构、存储结构和各种数据结构之间的运算
逻辑结构:数据元素之间的逻辑关系的描述
    两个要素:数据元素的集合(D)、前后关系(R)记作B = (D,R)
    线性结构:有且只有一个根结点,每个结点最多有一个前件,也最多有一个后件
    非线性结构:不是线性结构就是非线性结构,如树、二叉树、图
存储结构:数据的逻辑结构在计算机存储空间中的存放形式
    顺序:12345 abcdefg 
    链式:a->b->c...
    索引
数据的运算:检索、排序、插入、删除、修改
数据结构的图形表示:方框表示结点,有向线段表示前后间关系
3.线性表
由n个先沟通类型数据元素构成的有限序列
n:表长,n=0称为空表,i为在线性表中的位序
线性表的结构特征:
    数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的
    对于一个非空线性表,有且只有一个根结点,它无前件
    有且只有一个终端结点,它无后件
    其他所有结点只有一个前件,也只有一个后件
线性表中所有元素所占存储空间是连续的
线性表中各个数据元素在存储空间中是按照逻辑顺序依次存放的
线性表的插入和删除平均移动元素个数
    插入:n/2 删除:(n-1)/2
4.栈和队列
只允许在表的一端进行插入或者删除的特殊线性表
栈顶top:允许进行插入和删除操作的一端
栈底bottom:不允许插入与删除操作的另一端
先进后出
top = 0:栈空 top = m:栈满
栈的基本运算:入栈,出栈,读栈顶元素
队列
只能在表的一端进行插入和在另一端进行删除操作的线性表
先进先出:队尾入队,队头出队
5.树和二叉树----->非线性结构
树是n个结点的有限集T,有且仅有一个特定的成为根的结点,其余的结点可以分为m个互不相交的子树T1,T2..
称为m叉树
每个结点最多只能有一个前件,称为改结点的父结点。没有前件的结点称为树的根结点
每个结点可以有多个后件,称为该结点的子结点,没有后件的结点策划归纳为叶子结点
一个结点所拥有的后件的个数叫做结点的度,一棵树总各个结点度数的最大值称为树的度
树结构是一种层次结构,根结点为第一层,根的子结点为第二层,其余各个结点的层数逐层由上而下计算
一棵树中结点的最大层数叫做树的深度
用多重链表拉力表示树的存储
二叉树
度为2或者空集都是二叉树
满二叉树:除了最后一层,每一层上所有结点都有两个子结点
完全二叉树:除了最后一层外,每一层的结点数均达到最大值,最后一层上只缺少右边的若干结点
二叉树的存储结构
    普通二叉树:链式结构,数据域 + 指针域(左右)
    满二叉树和完全二叉树:顺序存储结构
二叉树的遍历:不重复的访问二叉树中的所有结点
    前序遍历(DLR)--->根左右
    中序遍历(LDR)--->左根右
    后序遍历(LRD)--->左右根
6.查找技术
查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素
查找结果
    查找成功:返回位置
    擦找不成功:返回特殊标记
平均查找长度:查找过程中关键字和给定值比较的平均次数
顺序查找:用于线性表,从第一个开始,逐次比较,直到两者相符
        平均与表中一半以上的元素比较,最多和n个比较
        线性表是无序表,以及采用链式存储的有序线性表,只能采用顺序查找
二分查找:
        前提:必须在具有顺序存储结构的有序表中进行
        最坏情况需要比较log2 n 次
7.排序技术
交换类排序法(冒泡排序,快速排序):
    两两比较待排序记录的关键字,发现两个记录的次序相反时进行交换,直到没有反序的记录为止
    最坏情况需要比较n(n-1)/2次
插入类排序(快速插入排序,希尔排序)
    将一个待排序的记录,按其关键字大小插入到前面已经排好序的数列中
选择类:(简单选择排序,堆排序)
    简单选择排序:扫描整个线性表,从中选出最小的元素,将他交到表的最前面
    堆排序:选建堆
8.程序设计方法与结构化设计
模块内部程序各部分按照自顶向下的结构划分
各个程序之间的联系尽量通过调用子程序来实现,不用或者少用GOTO的方式
结构化设计:自顶向下,逐步求精,模块化函数
设计原则:
    有限的控制结构
    一个入口和一个出口
    使用嵌套
    避免使用GOTO
9.面向对象的程序设计
对象object是基本运行时认得实体,他既包括数据(属性),也包括作用于数据的操作(行为)
一个对象把属性和行为封装成一个整体
一个对象通常由对象名,属性和操作三部分组成
对象特点
    标识唯一性
    分类性
    多态性
    封装性(外部不可见)
    模块独立性
类是具有共同属性,共同操作方法的对象的集合,是对象的抽象
消息:对象之间进行通信的机制
10.软件工程
应用软件(迅雷),系统软件(操作系统,数据库,设备驱动),支撑软件(设计软件,编码工具,测试工具。。)
软件工程过程:Plan Do Check Action
需求分析方法:
    结构化分析方法:数据流图和数据字典是主要工具
    面型对象分析方法
内聚性:度量一个模块功能强度的一个相对的指标。内聚性越强,模块的功能单一性越高
耦合性:度量模块之间的相互联系的程度。耦合性越弱,模块的独立性越强
模块化编程:希望是低耦合高内聚的
程序流程图,N-S图,PAD图,PDL(伪码)过程设计语言
11.数据库
database:数据的集合,具有同意的结构形式并且存放于统一的存储介质中,是多种应用数据的集成,并可以被各个应用程序共享
数据库管理系统:DBMS(数据库的核心)
常见的DBMS:SQL Server,....
数据库语言:
    数据定义语言DDL
    数据操纵语言DML
    数据控制语言DCL
数据库系统DBS
。。。。。。。。视频里讲了很多,想看的全的话看视频也行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值