计算机二级基础知识简单汇总

本文涵盖了计算机科学的基础知识,包括数据结构中的栈和队列,介绍了它们的特点和操作;深入讨论了树与二叉树的概念,如度、深度和遍历方式;接着提到了程序设计的基础,如语言分类、编码风格和面向对象编程的关键特性;最后,概述了软件工程的基本原理,如软件生命周期和测试方法,并简要讲解了数据库设计与管理的基础,如数据模型和数据库管理系统的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机基础笔记

数据结构与算法

  • 指针是存储空间的地址,而不是数据
  • 栈:后进先出
  • 栈顶指针:栈顶元素的地址top
  • 栈底指针:栈底指针的地址bottom
  • top = bottom(前提:栈底元素唯一)栈为空
  • 栈元素个数计算公式abs(top-bottem)+1
  • 如果栈顶指针超过了储存空间,那么top=bottom,栈为空,在那边超出那边为bottom
  • 链:含有前键和后键,数据元素由两部分组成:数据域,指针域
  • 带链的栈:栈内任意一个元素均可通过指针域的改变而发生更改,这种情况下栈底指针可以改变

队列

  • 与栈一样是线性结构
  • 先进先出
  • front:队头元素的前一个位置
  • rear:队尾最后一个元素
  • 循环队列元素个数,一般队列rear>front,但对于循环队列rear和front大小未知,rear-front>0,便是循环队列元素,<0时加上容量,=0时为空或全满
    线性链表
  • 线性链表(线性表的链式储存)由数据域和指针域两部分组成,也是线性结构
  • 特殊的,双向链表的指针域由前件指针和后件指针组成
    HEAD头指针
  • 线性表的插入删除效率不高,需要移动位置,而线性链表直接更改地址,没有覆盖,效率较高,但浪费储存空间
  • 线性链表不一定按本身逻辑结构存储,但线性表的顺序结构需要按逻辑结构和物理结构
  • 二分查找法只适用于顺序储存的有序线性表
  • 另外,链表可分为双向链表与二叉链表,前者是线性的,后者是非线性的

树与二叉树

  • 子节点每个节点后可以有多个后件,称为子节点
    没有后件的节点称为叶子节点
  • 度:一个节点所拥有的后件的个数称为该节点的度,叶子结点的度为0
  • 树的度:所有节点中的最大的度
  • 树的深度:树的层数
  • 二叉树:非线性的数据结构,子节点的数量最多为两个
  • 满二叉树:节点全
  • 完全二叉树:前k-1层全满,最后一层从右侧削减
  • 三个性质:NO.1.第k层的节点数为2**(k-1);NO.2.k层节点总数为2**k -1;NO.3.度为0的节点(叶子节点)总比度为2的节点多一个
  • 三种遍历方式:前序遍历,中序遍历,后序遍历
  • 扇入:指调用某个模块所用的前件数量,其中最大扇入指二叉树中某个节点前件最多的节点的前件的数量
  • 类似的最大扇出:某个节点后件最多的节点的后件的数量
  • 查找和排序
    顺序查找/顺序搜索:在长度为n的线性表中最坏的情况下需要查找n次
    二分查找法:适用于有序线性表,需要查找log2(n)次(不要求计算)
    交换类排序:
    冒泡排序法:最简单的交换类排序方法,相邻之间两两交换;最坏情况下比较n(n-1)/2次
    快速排序法/分区交换排序法:与自己选取的标准值进行比较;最坏情况下需要比较n(n-1)/2次,每次都会产生逆序
    插入类排序
    简单排序法,最坏情况下需要n(n-1)/2次
    希尔排序法,分成小区间再进行排序,最坏情况下需要O(n1.5)次
    选择类排序
    简单选择排序:选出最小的放前边,最坏情况下需要n(n-1)/2次
    堆排序法:与完全二叉树结合在一起判断是不是堆,下面的子节点的值必须同时大于根节点,最坏情况下要比较O(nlog2(n))次

程序设计基础

  • 程序=算法+数据结构
  • 语言分类:机器语言、汇编语言、高级语言
  • 编码风格:可读性好,易测试,易维护,清晰第一,效率第二
  • 注释分类:序言性注释,描述性注释
  • 结构化程序设计方法的主要原则:自顶向下,逐步求精,模块化,限制使用goto语句
  • 面向对象的程序设计主要考虑的是提高软件的可重用性
  • 对象的基本特点:标志唯一性,分类性,多态性(同样的信息被不同的对象接受时可导致不同行动的现象),封装性(信息隐蔽是通过对象的封装性来实现的),模块独立性好(高内聚,低耦合),
  • 类:指的是具有共同属性,共同方法的对象的集合。类是对象的抽象,对象的对应类的一个特例
  • 消息:对象之间交流的机制,与类无关
  • 继承:指能直接获得已有的性质和特征,分为单继承和多继承,是面向类而言的,提高了软件可重用性
  • 方法:指对象的接口,对象的属性只能通过方法来进行修改

软件工程基础

  • 软件:计算机软件是包括程序、数据以及相关文档的集合
  • 软件特点:
    软件是一种逻辑实体,而不是逻辑实体,具有抽象性
    软件在开发、运行过程中对计算机系统具有依赖性,导致软件兼容和移植的问题
    软件没有明显的制作过程
    软件在运行,使用期间不存在磨损,老化问题
    软件复杂度高,成本昂贵
    软件开发涉及诸多的社会因素
    软件危机主要表现:
    软件需求的增长得不到满足
    软件开发的成本和进度无法控制
    软件质量难以控制
    软件不可维护或维护程度非常低
    软件成本不断提高
    软件开发生产利用率的提高赶不上硬件的发展和应用需求的增长
    即成本、质量、生产率等问题
  • 软件工程3要素:方法、工具和过程
  • 软件的5个生命周期:产品提出,实现,使用,维护,停止使用退役;分为定义,开发,维护三阶段
  • 三阶段
    软件定义阶段:制定计划、需求分析。ps:写到需求规格说明书,只和数据、文档有关系,与程序指令无关系
    软件需求规格说明书是需求分析阶段的最后成果
    软件开发阶段:1.软件设计:概要设计(宏观)、详细设计/局部设计/微观设计/过程设计(微观);2.软件实现;3.软件测试(测试依据是需求规格说明书,只和程序指令有关系)
    1.软件概要设计的基本任务是:
    1)设计软件系统结构
    2)数据结构以及数据库设计
    3)编写概要设计文档
    4)概要设计文档评审
    概要设计常用的软件结构设计工具是结构图,也称为系统结构图,结构图中带箭头的连线表示模块之间的调用关系
    关于系统结构图
    深度越深宽度越宽说明系统越复杂
    原子模块:树中位于叶子节点的模块
    概要设计里数据流的类型有变换型(数据会变化)和事务型(数据会分配传递)
    2.详细设计的设计工具有
    图形工具:程序流程图(PFD)、N-S图(方框图)、PAD、HIPO.
    表格工具:判定表
    语言工具:PDL(伪码)
    程序流程图中的箭头代表的是控制流
    3.软件测试是为了发现错误而执行程序的过程,只发现不改进错误,不能也不可能证明程序没有错误,也不可能发现全部错误
    软件测试的对象包括:源程序,目标程序,数据,相关文档
    按方法有
    白盒测试:主要方法有逻辑覆盖,基本路径测试
    黑盒测试:测试的是外部功能与特性,依据需求规格说明书,主要方法是等价类划分法,边界值分析法,错误推测法和因果图
    软件测试过程按步骤分为4个步骤,即单元测试、集成测试、确认测试(验收测试)和系统测试
    单元测试:主要是白盒测试
    集成测试:看单元是否冲突,看得是环节,主要是发现与接口有关的错误,集成测试的依据是概要设计说明书
    确认测试:验证软件的有效性,依据是软件需求规格说明书,主要是黑盒测试
    系统测试:环境参与做的测试,测试用例是根据软件需求规格说明书,重点是环境
    程序调试:诊断和改正程序中的错误
    软件运行维护阶段:软件生命周期中花费最多的阶段。
  • 软件工程研究:软件开发技术和软件工程管理
  • 结构化分析:需求分析阶段(分析数据)
  • 分析方法有结构化分析方法(重视过程),面向对象的分析方法(重视结果)
  • 结构化分析的常用工具:
    数据流图:用来描述数据流向的图形
    数据字典:结构化分析方法的核心
    判定表:以表格的形式将条件融合数据分析
    判定树:按不同类别不断细分,得到数据分析
  • 数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,直接支持系统的功能/需求建模

数据库设计基础

  • 数据库(DB)具有统一的结构形式,存放于统一的储存介质中
  • 数据库的根本目标是解决数据共享问题
  • 数据库管理系统(DBMS)是一种系统软件,定义、操纵、控制,是数据库系统的核心
  • 数据库管理系统提供1.数据定义语言(DDL)创建,存储(创始人一般的工作)2.数据操纵语言(DML)包括查询及增、删、改(员工一般的工作)3.数据控制语言(DCL)负责数据完整,安全,检查,并发控制,故障恢复(医生一般的工作)
  • 数据库管理员(DBA)
  • 数据库系统(DBS)5部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬性平台(硬件)、系统平台之二——软件平台(软件)。
  • 数据库应用系统(DBAS)
  • 数据库系统的基本特点:数据的集成性、数据的高分享型和低冗余性、数据独立性(物理独立性和逻辑独立性)
  • 数据库系统的内部结构体系
    三级模式:概念模式(纯粹对数据本身【条形码】),外模式(用户模式,由概念模式推导而出【牙膏】),内模式(物理模式,操作系统和文件级别,未涉及设备级【存储、写入和空间调整】)
    二级映射:概念模式与外模式,概念模式与内模式

数据模型

  • 数据模型是数据库设计的核心
  • 实体:存在的并可相互区分的任何事物
  • 属性:实体代表的特定事物所具有的某方面的特征
    数据模型可分为
    1.概念数据模型(概念模型),主要有E-R模型(实体联系模型entity-relationship model)、扩充的E-R模型、面向对象模型及谓语模型。面相对象
    E-R模型:实体,关系,属性(由数据流图设计E-R图)
    不依赖于具体的计算机系统,不是DBMS支持的数据模型
    2.逻辑数据模型(数据模型),主要有,层次模型、网状模型、关系模型、面像对象模型等
    物理数据模型(物理模型)
    逻辑设计的主要工作是将E-R图转化为关系模型
    关系模式
    关系模型等价于二维表
    码/主码/关键词/主键/主属性:没有重复,可以唯一区分
    外键:在一个表中不是主键,但另一个表中是主键
    函数依赖:一个元素能推出另一个元素
    范式
    第一范式1NF:关系模式R中无重复的列
    第二范式2NF:非主属性依赖于主键,没有不依赖的
    第三范式3NF:非主属性不传递依赖于键
    BC范式BCNF:每个属性都不传递依赖于键

集合运算

1)并,前提列相同
2)差,前提列相同,在原表中每一行去除被减表的相同行,保留下原表的改动
3)交,前提列相同
4)笛卡尔积:行与行的重新组合,按照排列组合方式联接
5)除法:行与行的重新拆分
关系数据库管理系统能实现的专门关系运算有三种操作:
选择、投影与联接
1)选择:选行
2)投影:选列
3)联接:拼接成一个可能更宽的列表
连接运算,找到符合列条件的行加宽
自然连接运算,找到两个表中取值相等的列,组成一个新的表,当行重复保留一次

数据库设计与管理

  • 数据库开发阶段:需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段,编码阶段,测试阶段,运行阶段,经一步修改阶段
  • 数据库的设计阶段是前四个阶段,需求分析(形成需求说明书)概念设计(形成概念数据模型)逻辑设计(形成逻辑数据模型)物理设计(形成数据库模式)
  • 过程:建立概念模型,建立逻辑模型
  • 关系视图设计是外模式设计
  • 数据库的物理设计:提高访问速度和有效利用存储空间,影响数据的访问效率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值