计算机基础笔记

数据结构与算法

  • 指针是存储空间的地址,而不是数据
  • 栈:后进先出
  • 栈顶指针:栈顶元素的地址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)联接:拼接成一个可能更宽的列表
连接运算,找到符合列条件的行加宽
自然连接运算,找到两个表中取值相等的列,组成一个新的表,当行重复保留一次

数据库设计与管理

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

计算机二级基础知识简单汇总相关推荐

  1. 计算机二级循环储存,【日常干货】计算机二级基础知识(第三期)

    原标题:[日常干货]计算机二级基础知识(第三期) 即便是周末 也不要忘了学习哦 1.下列结构中属于线性结构链式存储的是 A)双向链表 B)循环队列 C)二叉链表 D)二维数组 ▼ A[解析]双向链表也 ...

  2. 江苏省计算机二级基础部分,江苏省计算机二级-基础知识部分.doc

    江苏省计算机二级-基础知识部分 江苏计算机二级公共基础知识(重点部分) 信息技术及通信 1.(2006C)信息技术指的是用来扩展人的信息器官功能.协助人们进行信息处理的一类技术.在下列基本信息技术中, ...

  3. 全国计算机二级基础知识ppt,有关全国计算机二级基础知识.ppt

    有关全国计算机二级基础知识 参照完整性的设置 参照完整性是建立在相关表建立永久关系的基础上的. 4.数据完整性综述 数据库的三类完整性 实体完整性:字段级.记录级 参照完整性:表级 相关表之间的数据一 ...

  4. 计算机二级基础知识试题,xx年计算机二级基础知识试题及答案

    xx年计算机二级基础知识试题及答案 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 XX年计算机二级基础知识试题及答 案XX年计算机二 ...

  5. 2016年计算机基础知识试题及答案,2016年计算机二级基础知识试题及答案

    2016年计算机二级基础知识试题及答案 (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 2016 年计算机二级基础知识试题及答案7 ...

  6. [全国计算机二级]基础知识汇总(一)

       前言:很惭愧,都一把年纪了,计算机二级还没过,现在将计算机二级的基础知识整理一下,与还没过二级的小伙伴们共勉吧~一起加油~   1.1 数据结构与算法 1.1.1 算法 1.算法的基本概念 (1 ...

  7. 计算机二级基础知识 文库,计算机二级公共基础知识(全)

    计算机二级公共基础知识(全) 1.1 算法 考点1 算法的基本概念 计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法. 算法(algorithm)是一组严谨地定义运算顺序的规则,并且每一 ...

  8. 计算机二级——基础知识解释(一)

    个人分类: 计算机二级office MsOffice选择题 序号 内容 分值 至少得 题目数量 第一部分 二级公共基础知识 10 4 560道左右 第二部分 计算机基础知识 4 3 第三部分 Word ...

  9. 计算机二级基础知识 文库,计算机二级--公共基础知识(第1章)

    计算机二级--公共基础知识(第1章) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 第1章 数据结构与算法1.1 算法1.1.1 ...

最新文章

  1. 使用Python requests post上传图片及示例demo
  2. bzoj 1052: [HAOI2007]覆盖问题(二分+贪心)
  3. hdu3397 线段树 成段更新
  4. vue push 无效_深入浅出Vue响应式原理
  5. 用java实现学生成绩管理系统_学生成绩管理系统(java实现)
  6. html清除span的text,使用jquery删除字符串中的span标签
  7. 逐飞K66核心板+逐飞DAP下载器调试方式及接线(SWD)
  8. 使用BenchMarkSQL测试openGauss
  9. 如何去掉复制mobi文件代码里的一些符号
  10. C语言pixel函数小程序,C语言 getpixel()用法及代码示例
  11. Nginx+Tomcat负载均衡的部署
  12. Win10 笔记本 解决屏幕忽明忽暗,自动降低亮度问题
  13. 程序人生:如何成为一名优秀的全栈工程师
  14. Java技术——你真的了解String类的intern()方法吗,快点来学吧
  15. 自学闲置电脑部署NAS服务器打造家庭影院
  16. 关于东芝步进电机驱动芯片TB67S109AFNAG的电路原理分享
  17. python对文件重命名快捷键_Pycharm快捷键配置详细整理
  18. COD测定仪小故障不及时处理,可能会演变成的大问题
  19. 解决新版微信个人收款二维码在H5网页里不能长按识别支付
  20. NYOJ283对称排序

热门文章

  1. centos 删除Redis
  2. 各种音频视频编码方法
  3. cdr入门之复制对象的几种方式
  4. 拿到腾讯字节快手 offer 后,他的LeetCode刷题经验在GitHub上收获1.3k星
  5. 绳结的打法(野外生存学习)
  6. 华龙证券分析报告(0608)
  7. html文档打印不全表格,Excel打印预览时,表格有一部分不完整,如何调整?
  8. jenkins相关操作
  9. html脚本ios调试不了,Safari 前端开发调试 iOS 完美解决方案(iPhone/iTouch 等)
  10. java jcombobox_java 中jcombobox怎么用