计算机二级程序员

计算机二级 公共基础 知识点

2018-11-02  本文已影响1481人  arima

算法

算法基本特征

程序的设计不可能优于算法的设计

有穷性:算法程序的运行时间是有限的

算法的基本要素

设计算法时需要考虑算法的的时间和空间复杂度,但两者相互独立,毫无关联

算法的执行效率与数据的存储结构有关

数据结构

image

数据

【真题】设数据集合为D={1,2,3,4,5},则结构B=(D,R)中为非线性结构的是

R={(1,2),(2,3),(4,3),(3,5)} 非线性【1→2→3→5、4→3】(√)

R={(1,2),(2,3),(3,4),(4,5)} 线性【1→2→3→4→5】(×)

数据结构的分类

数据结构作为计算机的一门学科,主要研究三个方面:数据间固有逻辑结构关系数据的存储结构关系数据结构的运算

逻辑结构 存储结构 运算
线性结构(线性表、栈、队列) 顺序结构 插入、删除、查找、排序
非线性结构(树、图) 链式结构 \
image image image

线性表

顺序表

  1. 线性表中所有元素所占的存储空间是连续
  2. 线性表中数据元素在存储空间中是按逻辑顺序依次存放
  3. 可以随机访问数据元素
  4. 做插入、删除时需移动大量元素,因此线性表不便于插入和删除元素
  5. 其存储空间连续,各个元素所占字节数相同,元素的存储顺序与逻辑顺序一致
image

线性链表

  1. 各数据结点的存储空间可以不连续
  2. 各数据元素的存储顺序与逻辑顺序可以不一致,可任意
  3. 所占存储空间大于顺序存储结构(每节点多出至少一个指针域)
  4. 查找结点时要比顺序存储
  5. 插入删除元素比顺序存储灵活

  1. 栈的入口和出口是同一个口,只能在栈顶进行插入和删除

  2. 栈的修改原则是“先进后出”“后进先出”

  3. 栈的栈底指针bottom栈顶指针top,从入栈栈满再到退栈栈低指针bottom不变,栈中元素随栈顶指针的变化而动态变化(指针存放的是地址而非数据)

  4. 栈能临时保存数据,具有记忆功能

  5. 栈支持子程序调用

    image

一个栈的初始状态为空。将元素abcde依次入栈,不可能的出栈顺序为(E)

A.edcba B.dcbae C.badce D.cbaed E.eabcd

用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为【20】(49-30+1=20)

设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=25,则栈中的元素个数为【36】(60-25+1=36)

栈内元素个数计算:丨Top-Bottom丨+1 (其中Bottom≥1),若T=B=0说明栈空

链式栈比较特殊,当中存放元素与地址,但其栈底指针bottom可以改变

队列

  1. 队列中队头指针front指向对头元素的前一位置队尾指针rear指向最末元素,从入队出队
  2. 队列的入口和出口非同一个口,只允许在队尾插入,而在队头删除
  3. 队列的修改原则是“先进先出”“后进后出”先到先服务的作业调度)
  4. 队列中元素随front和rear的变化而动态变化,并非固定

image

二叉树

二叉树是一个有限的结点集合,该集合或为空,或由一个根结点及其两棵互不相交的左右二叉子树所组成

image image

满二叉树:除最后一层外,每一层上的结点数均达到最大值。

完全二叉树:除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点

满二叉树完全二叉树,完全二叉树不是满二叉树

查找技术

排序

image

最坏情况下,比较次数最少的是堆排序

要求内存量最大的是归并排序

当数据表中每个元素距其最终位置不远,最节省时间的是简单插入排序

选择排序与冒泡排序的区别:冒泡排序通过依次交换相邻两个顺序不合法的元素位置,从而将当前最小(大)元素放到合适的位置;而选择排序每遍历一次都记住了当前最小(大)元素的位置,最后仅需一次交换操作即可将其放到合适的位置。

程序设计基础

程序设计方法与风格

良好程序设计风格不仅有助于提高程序的可靠性、可理解性、可测试性、可维护性和可重复性,而且也能够促进技术的交流,改善软件的质量

结构化程序设计

设计程序时,应采纳的原则之一是程序结构应有助于读者理解(强调程序易读性

面向对象的程序设计

与传统的的面向过程的方法不同之处:

面向对象的程序设计主张从客观世界固有的物质出发来构造系统,使用现实世界的概念抽象地思考问题从而自然地解决问题,它提倡用人类在现实生活中常用的思维方式来认识理解描述客观事物

软件工程基础

image

软件工程基本概念

结构化分析方法

结构化设计方法

软件测试

程序调试

数据库设计基础

数据库基本概念

数据模型

数据模型实例

image

层次型、网状型、关系型数据库的划分原则是数据之间的联系方式

二维表

image

数据库设计与管理

上一篇下一篇

猜你喜欢

热点阅读