计算机公共基础知识考点

上传人:大米 文档编号:510507298 上传时间:2023-06-17 格式:DOCX 页数:7 大小:20.22KB
返回 下载 相关 举报
计算机公共基础知识考点_第1页
第1页 / 共7页
计算机公共基础知识考点_第2页
第2页 / 共7页
计算机公共基础知识考点_第3页
第3页 / 共7页
计算机公共基础知识考点_第4页
第4页 / 共7页
计算机公共基础知识考点_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《计算机公共基础知识考点》由会员分享,可在线阅读,更多相关《计算机公共基础知识考点(7页珍藏版)》请在金锄头文库上搜索。

1、计算机公共基础知识考点第一章数据结构与算法1.1算法1. 算法的基本概念(1) 概念:算法是指一系列解决问题的清晰指令。(2) 4个基本特征:可行性、确定性、有穷性、拥有足够的情报。(3) 两种基本要素:对数据对象的运算与操作、算法的控制结构(运算和操作时间的顺序)。(4) 设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。2. 算法的复杂度(1) 算法的时间复杂度:执行算法所需要的计算工作量。(2) 算法的空间复杂度:执行算法所需的内存空间。1.2数据结构的基本概念数据结构线互有关联的数据元素的几何,即数据的组织形式。其中逻辑结构反应数据元素之 间逻辑关系;存储结构为数据

2、的逻辑结构在计算机存储空间中的存放形式,有顺序储存、链 式储存、索引储存和散列储存四种方式。数据结构按照各个元素之间前后间关系的复杂程度可以划分为:(1) 线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的 非空数据结构。(2) 非线性结构:不满足线性结构的数据结构。1.3线性表及其顺序结构性储存1. 线性表的基本概念线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。2线性表的顺序储存结构元素所占的存储空间必须连续。元素在存储空间的位置是按照逻辑顺序存放的。3线性表的插入运算在第i个元素之前插入一个新元素的步骤如下:步骤一:把原来第n个节点至第i个节点的一次往

3、后移一个元素位置。步骤二:把新节点放在第i个位置上。步骤三:修正线性表的节点个数。在最坏的情况下,即插入元素在第一个位置,线性表中所有元素均需要移动。4线性表的删除运算删除第i个位置的元素的步骤如下:步骤一:把第i个元素的n-i个元素一次往前移动一个位置;步骤二:修正线性表的结点个数。1.4栈和队列1栈及其基本运算(1) 基本概念:栈是一种特殊的线性表,其插入原酸与删除运算只在线性表的一端进行, 也成为“先进后出”表或“后进先出”表。栈顶:允许插入与删除的一端。栈低:栈顶的另一端。空栈:栈中没有元素的栈。(2) 特点栈顶元素是最后被插入和最早被删除的元素。栈底元素是最早被插入和最后被删除的元素

4、。栈有记忆作用。在顺序储存结构下,栈的插入和删除运算不需要移动表中其他数据元素。栈顶指针top动态反映了栈中元素的变化情况。(3)顺序存储和运算:入栈运算、退栈运算和读栈顶运算2队列及其基本运算(1)基本概念:队列是指允许在一端进行插入,在林一端进行删除的线性表,又称“先进 先出”的线性表。队尾:允许插入的一端,用尾指着指向队尾元素。排头:允许删除的一端,用头指针指向头元素的前一位置。(2)循环队列及其运算所谓循环队列,就是讲队列存储龙剑的最后一个位置绕道第一个位置,形成逻辑上的环状空 间。入队原酸是指在循环队列的队尾加入一个新元素。当循环队列非空(s=l)且队尾指针等于 队头指针时说明循环队

5、列已满,不能进行入队运算,这种情况称为“上溢”退队运算是指在循环队列的队头位置退出一个元素并赋给制定的变量。首先将队头指针进 一,然后将派头指针指向的元素赋给制定的变量。当循环队列为空时不能进行退队运算,这 种情况称为“下溢”。1.5线性链表在定义的链表中若只含有一个指针域来存放下一个元素地址,成这样的链表为单链表或者线 性链表。在链式存储方式中要求每个节点由两部分组成:一部分用于存放数据元素之,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该节点的前一个或者后一个节点(即 前件或后件)。1.6树和二叉树1. 树的基本概念2树是简单的非线性结构,树中有且仅有一个没有前驱的节点称

6、为“根”,其余节点分成m 个互不相交的有限集合耳,T2,T,每隔几何优势一个数,称为片,T2,T为根 12m12m节点的子树。父节点:每一个节点只有一个前件,无前件的节点只有一个称为树的根节点(简称树的根)。子节点:每一个节点可以接多个后件,无后件的节点称为叶子节点。树的度:所有节点最大的度。树的深度:树的最大层次。2二叉树的定义及基本性质(1)二叉树的定义:二叉树是一种非线性结构,是有限的节点集合,该集合为空(空二叉 树)或由一个根节点及两棵互不相交的左右二叉子树组成。可分为满二叉树和完全二叉树。 其中满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。二叉树具有以下特性:二叉树可为空,空

7、的二叉树没有节点,非空二叉树有且仅有一个根节点。每个节点最多有两棵子树,称为左子树和右子树。(2)二叉树的基本性质性质一:在二叉树的第k层上至多有2k-1个节点(k三1)。性质二:深度为m的二叉树至多有2m-1个节点。性质三:对任何一颗二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。性质四:具有n个节点的完全二叉树的深度至少为10g2n + 1,其中log2n表示log2n的完整部 分。3满二叉树与完全二叉树(1) 满二叉树:满二叉树是指这样一种二叉树:出最后一层外,每一层上的所有节点都有 两个子节点。满二叉树在其第i层上有2口个节点。(2) 完全二叉树:完全二叉树是指这样的二叉树

8、:除最后一层外,每一层上的节点数均达 到最大值;在最后一层上只缺少右边的若干节点。如果一颗具有N个节点的都与深度为k 的二叉树,它的每一个节点都与深度为k的满二叉树中编号为1n的节点 对应。3. 二叉树的存储结构二叉树通常采用链式存储结构,存储节点由数据域和指针域(左指针域和右指针域)组成。 二叉树的链式存储结构也称二叉链表,对满二叉树和完全二叉树可按层次进行顺序储存。4. 二叉树的遍历二叉树的遍历是指不重复地访问二叉树中的所有节点,主要指非空二叉树,对于空二叉树则 结束返回。二叉树的遍历包括前序遍历、中序遍历和后序遍历。(1) 前序遍历前序遍历是指在访问根节点,遍历左子树与遍历右子树者三者中

9、,首先访问根节点,然后遍 历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作;否则访问 根节点;前序遍历左子树;前序遍历右子树。(2) 中序遍历中序遍历是指首先遍历左子树,然后访问跟节点,最后遍历右子树。中序遍历叙述为:若二 叉树为空,则执行空操作;否则中序遍历左子树;访问根节点;中序遍历右子树。(3) 后序遍历后序遍历是指在访问根节点,遍历左子树与遍历右子树者三者中,首先遍历左子树,然后遍 历右子树,最后访问根节点。和后续遍历描述为:若二叉树为空,则执行空操作;否则后 序遍历左子树;后序遍历右子树;访问根节点。1.7查找技术(1) 顺序查找:在线性表中查找指定的元素。最坏的

10、情况下,最后一个元素才是要找的元 素,则需要与线性表中所有元素比较,比较次数为n。(2) 二分查找:二分查找也称折半查找,它是一种高效率的查找方法。但是二分查找有条 件限制,它要求表必须用且表中元素必须按关键字有序(升序或者降序均可)排列。对长度 为n的有序线性表,在最坏情况下,二分查找法只需比较log2n次。1.8排序技术(1) 交换类排序法冒泡排序:对待排序序列从后向前或从前向后,一次比较相邻元素的排序码,若发现你序 列交换,是较大的元素逐渐从前部移向后部或较小的元素逐渐从后部移向前部,直到所有元 素有序位置。在最坏情况下,对长度为n线性表排序,冒泡排序需要比较的次数为n (n-1) /2

11、.快速排序:是迄今为止所有内排序算法中速度最快的一种。它的基本思想是:任取待排列 序列中的某个元素作为你基准(一般取第一个元素),通过一趟排序,将待排列元素分为左 右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,有子序列的排序码 均大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个排列有序。最坏 情况下,即没戏划分,只得到一个序列,时间效率为O (n2)(2) 插入类排序法简单插入排序法:把n个待排序元素看成是一个有序表和一个无序表,开始时有序表中只 包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素, 把它的排序码依次与有序元素的排

12、序码进行比较,将它插入到有序表中的适当位置,使之成 为新的有序表。在最坏情况下,即初始排序序列是逆序的情况下,比较次数为n (n-1) /2, 移动次数是n (n-1) /2。希尔排序法:先将整个待排元素排序分割成若干个子序列(由像个某个“增量”的元素组 成的)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)使,再对全体 元素进行一次直接插入排序。(3) 选择类排序法简单选择排序法:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后 对剩下的子表采用相同的方法,直到子表空位置。最坏的情况下需要比较n (n-1) /2次。堆排序的方法:首先讲一个无序排列建成堆;然后将堆

13、顶元素(序列中的最大项)与堆中 最后一个原色交换(最大项应该在序列的最后)。不考虑已经交换到最后的那个元素,只考 虑前n-1个元素构成的子序列,将该子序列调整为堆。仿佛做步骤,指导剩下的子序列空 为止。在最坏的情况下,堆排序法需要比较的次数为O (nlog)。第二章程序设计基础2.1程序设计方法与风格(1) 设计方法:指设计、编制、调试程序的方法和过程,主要有结构化程序设计方法、软 件工程方法和面向对象方法。(2) 设计风格:良好的设计风格要注重源程序文档化、数据说明方法、语句的结构和输入 输出。2.2结构化程序设计1结构化程序设计的原则结构化程序设计强调程序设计风格和程序结构的规范化,提倡清

14、晰的结构。(1) 自顶向下:即先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。(2) 逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。(3) 模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每 一个小目标成为一个模块;(4) 限制使用GOTO语句。2. 结构化程序的基本结构与特点(1) 顺序结构:自始至终严格按照程序小红语句的先后顺序逐条执行,是最基本,最普遍 的结构形式。(2) 选择结构:又称为分支结构,包括简单选择和分支选择结构。(3) 重复结构:又称为循环结构,根据给定条件,判断是否需要重复执行某一相同的或者 类似的程序段。结构化程序设计中,应该

15、注意事项:(1) 使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。(2) 选用的控制结构只准许有一个入口和一个出口。(3) 程序语言组成容易识别的块,每块只有一个入口和一个出口。(4) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。(5) 语言中所没有的控制结构,应采用前后一致的方法来模拟。(6) 尽量避免使用GOTO语句。2.3面向对象的程序设计面向对象方法的本质是主张从客观世界固有的事物出发来构造系统,强调建立的系统能映射 问题域。对象:用来表示客观世界中任何实体,可以是任何有明确边界和意义的东西。类:具有共同属性、共同方法的对象的集合。实例:一个具体对象就是其对应分类的一个实例。消息:实例间传递的信息,它统一了数据流和控制流。继承:使用已有的类定义作为基础建立新类的定义技术。多态性:指对象根据所接受的信息而做出的动作,同样的信息被不同的对象接收时有不同 行动的现象。面向对象程序设计的有点:与人类习惯的思维方法意志,稳定性好、可充用型号,易于开发 大型软件产品,可维护性好。第三章软件工程基础

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号