计算机二级公共基础知识2020版电子版,2020年计算机二级考试公共基础知识背诵笔记...

数据结构与算法

1 算法

算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:

(1)可行性;

(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;

(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;

(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

算法空间复杂度是指执行这个算法所需要的内存空间。

2 数据结构的基本基本概念

数据结构研究的三个方面:

(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;

(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;

(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:

(1)表示数据元素的信息;

(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:

(1)有且只有一个根结点;

(2)每一个结点多有一个前件,也多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

3 线性表及其顺序存储结构

线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

非空线性表的结构特征:

(1)且只有一个根结点a1,它无前件;

(2)有且只有一个终端结点an,它无后件;

(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。

线性表的顺序存储结构具有以下两个基本特点:

(1)线性表中所有元素的所占的存储空间是连续的;

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

ai的存储地址为:adr(ai)=adr(a1)+(i-1)k,,adr(a1)为个元素的地址,k代表每个元素占的字节数。

顺序表的运算:插入、删除。

4 栈和队列

栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

栈按照“先进后出”(filo)或“后进先出”(lifo)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。

栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。

队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。rear指针指向队尾,front指针指向队头。

队列是“先进行出”(fifo)或“后进后出”(lilo)的线性表。

队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。

循环队列:s=0表示队列空,s=1且front=rear表示队列满

5 线性链表

数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。

结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

链式存储方式即可用于表示线性结构,也可用于表示非线性结构。

线性链表,head称为头指针,head=null(或0)称为空表,如果是两指针:左指针(llink)指向前件结点,右指针(rlink)指向后件结点。

线性链表的基本运算:查找、插入、删除。

6 树与二叉树

树是一种简单的非线性结构,所有元素之间具有明显的层次特性。

在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。

在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中的度称为树的度。树的层次称为树的深度。

二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点多有两棵子树,且分别称为该结点的左子树与右子树。

二叉树的基本性质:

(1)在二叉树的第k层上,多有2k-1(k≥1)个结点;

(2)深度为m的二叉树多有2m-1个结点;

(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;

(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;

(5)具有n个结点的完全二叉树的深度为[log2n]+1;

(6)设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:

①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为int(k/2);

②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);

③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。

满二叉树是指除后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。

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

二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。

二叉树的遍历:

(1)前序遍历(dlr),首先访问根结点,然后遍历左子树,后遍历右子树;

(2)中序遍历(ldr),首先遍历左子树,然后访问根结点,后遍历右子树;

(3)后序遍历(lrd)首先遍历左子树,然后访问遍历右子树,后访问根结点。

7 查找技术

顺序查找的使用情况:

(1)线性表为无序表;

(2)表采用链式存储结构。

二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,坏情况只需比较log2n次。

8 排序技术

排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。

交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2; (2)快速排序法。

插入类排序法:(1)简单插入排序法,坏情况需要n(n-1)/2次比较;(2)希尔排序法,坏情况需要o(n1.5)次比较。

选择类排序法:(1)简单选择排序法,

坏情况需要n(n-1)/2次比较;(2)堆排序法,坏情况需要o(nlog2n)次比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

织梦后台如何生成站点地图sitemap.xml

第一步在网站根目录建立sitemap.php文件 内容如下&#xff1a; 写一个计划任务文件命名为generate_sitemap.php&#xff0c;放在/plus/task目录里&#xff0c;文件内容如下&#xff1a; <?php//定时生成网站地图require_once(dirname(__FILE__)./include/common.inc.php);i…

python blp模型 估计_BLP模型

BLP模型BLP模型对安全性进行分级&#xff0c;用格作为描述系统安全性级别的数学工具&#xff0c;由函数:FSOLC产生主体和客体的安全级别&#xff0c;其中&#xff0c;S和O分别是主体和客体的集合&#xff0c;L是格结构&#xff0c;C是安全级别的集合。BLP模型抽象出的访问…

神经元“超级替补”让失明小鼠恢复视力

来源&#xff1a;文汇报一旦长成就得用一辈子&#xff0c;即使有零部件用坏了&#xff0c;也几乎没有替换的可能&#xff0c;这就是人体的神经系统。这种特性给人类带来了无穷困扰&#xff1a;一些功能性损伤导致失明、瘫痪&#xff0c;某些退行性改变引发帕金森病、阿尔兹海默…

html5的新标记,HTML5 新标记

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼对比一下XHTML 1.0 Transitional的规范&#xff0c;html5基本上没有XHTML 1.0 Transitional严格的要求&#xff0c;并且简化了很多东西。文档声明更简单了。1 2 3 html标签上不需要声明命名空间。1 2 3 字符集编码声明…

静态方法和实例方法(mark)

借花献佛[转自 ivonys blog]关于静态方法和实例方法的一些误区。 一、 静态方法常驻内存&#xff0c;实例方法不是&#xff0c;所以静态方法效率高但占内存。 事实上&#xff0c;方法都是一样的&#xff0c;在加载时机和占用内存上&#xff0c;静态方法和实例方法是一样…

js 对一个字段去重_js面试

js面试题1.简述同步和异步的区别2.怎么添加、移除、复制、创建、和查找节点3.实现一个函数clone 可以对Javascript中的五种主要数据类型(Number、string、Object、Array、Boolean)进行复制4.数组去重方法12种方法5.写一个返回闭包的函数(1)首先知道什么是闭包&#xff1f;闭包就…

人工智能可能成为我们检测COVID-19最有效的方法吗?

Images: RADLogicsUsing three CT scans from a single coronavirus patient, the RADLogics algorithm quantifies the amount of recovery with a "corona score."来源&#xff1a;Megan Scudellari在过去的一段时间里&#xff0c;世界各地的公司宣布了一系列基于人…

haosou属于搜索引擎的_中国的搜索引擎有哪些?

展开全部1、百度百度(纳斯达克&#xff1a;32313133353236313431303231363533e59b9ee7ad9431333365633939BIDU)&#xff0c;全球最大的中文搜索引擎、最大的中文网站。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力&#xff0c;抱着技术改变…

如何启用台式计算机无线开关,联想一体机无线网卡开关如何开启_怎么打开联想电脑一体机WiFi无线开关-win7之家...

现在的电脑中都会配备有无线网卡功能&#xff0c;当我们要连接wifi无线网络的时候&#xff0c;就需要开启无线网卡&#xff0c;但是有联想一体机用户不知道要如何开启无线网卡开关&#xff0c;其实方法并不难&#xff0c;如果你有这方面需求的话&#xff0c;就随小编一起来看看…

Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...

效果图 用的是UGUI 我先说思路 通过判断元素的位置信息来改变Hierarchy的顺序 实现无限滚动 改变位置的同时也要不断的调整Content的位置防止乱跳 元素锁定就是直接锁死的元素的移动范围 当只有拖动大于一定程度时才会发生改变 然后是面板设置 整体结构是这样子的 需要注意的是…

2020年虚拟现实和增强现实的发展趋势将会如何|0glasses低调分享

来源&#xff1a;AR工业应用2019年是虚拟现实和增强现实&#xff08;VR / AR&#xff09;增长的一年-统称为扩展现实&#xff08;XR&#xff09;。这些突破性技术的出现开始使人们远离最初流行的游戏和娱乐领域&#xff0c;用户可以戴上耳机并完全沉浸在计算机生成的环境中&…

qpaint 居中画图像_用AI画建筑分析图的好技巧。

今天给大家推送一期AI的技巧&#xff0c;有快捷键技巧&#xff0c;也有一些其他技巧&#xff0c;大家往下看&#xff0c;看有没有自己能用得到。AI技巧视图操作将图像显示为边框模式(切换) 【Ctrl】【Y】对所选对象生成预览(在边框模式中) 【Ctrl】【Shift】【Y】放大视图 【Ct…

【USACO Feb 2014】Cow Decathlon

题目描述 约翰有 N 头奶牛&#xff0c;组成了一直队伍参加全能比赛。比赛一共有 N 项&#xff0c;每头奶牛必须参加一项比赛&#xff0c;每项比赛也必须有一头奶牛参加。任何一头奶牛可以胜任任何一项比赛&#xff0c;但得分不一样。如果第i 头奶牛参加第 j 项比赛&#xff0c;…

新基建深度报告:七大领域十大龙头分析

来源&#xff1a;华泰证券稳增长、促转型&#xff0c;把握新基建浪潮中的七大产业机遇七大领域&#xff1a;5G、数据中心、云计算、工业互联网、物联网、人工智能、传 统基础设施数字化改造新基建担负着不一样的历史使命。传统基建稳需求、注重补短板&#xff0c;新基建关注新兴…

新版IDEA中Git的使用(三)

说明&#xff1a;前面介绍了在新版IDEA中Git的基本操作、分支操作&#xff0c;本文介绍一下在新版IDEA中&#xff0c;如何回滚代码&#xff1b; 分以下三个阶段来介绍&#xff1a; 未Commit的文件&#xff1b; 已经Commit&#xff0c;但未Push的文件&#xff1b; 已经Push的…

python定义二叉树_用类定义二叉树

#用类定义二叉树class BTree:def__init__(self,value):#左儿子self.left None#节点值self.data value#右儿子self.right None#向左子树插入节点definsertLeft(self,value):self.left BTree(value)returnself.left#向右子树插入节点def insertRight(self,value):self.right BTre…

html的字体红底颜色,红底黄字门头风水好吗 什么颜色招牌好

门头就是招牌&#xff0c;影响着一个店铺的生意好坏。而红底黄字的门头风水不好&#xff0c;一来是因为不容易辨识&#xff1b;二来是因为容易使人焦躁。而招牌最佳的颜色就是红底白字或白底黄字。一个店铺生意好不好&#xff0c;与自身的招牌是有着不可分割的关系的。我们除了…

python基础之名称空间和作用域、函数嵌套

一、名称空间 1、定义&#xff1a;存放名字与值的绑定关系 2、名称空间分为&#xff1a;内置名称空间、全局名称空间、局部名称空间 内置名称空间&#xff1a;python解释器自带的名字&#xff0c;python解释器启动就会生成 全局名称空间&#xff1a;文件级别定义的名字都会存放…

与微信、APP正面刚?三大运营商联合发布5G消息白皮书

来源&#xff1a;数据观综合4月8日&#xff0c;中国移动、中国电信、中国联通联合发布《5G消息白皮书》&#xff0c;宣布推出全新的信息交互服务——“5G消息”和生态建设构想&#xff0c;这意味着我国基础短信业务进入全面升级通道&#xff0c;传统短信将被5G消息(RCS业务)逐步…

Linux磁盘及文件系统(二)Linux下磁盘命名和分区

在为主机添加硬盘之前&#xff0c;首先需要了解Linux系统下对硬盘和分区的命令方法 一、磁盘命名 Linux下对SCSI和SATA设备是以sd命名的&#xff0c;第一个SCSI设备是sda,第二个是sdb....以此类推。一般主板上有两个SCSI接口&#xff0c;因此一共可以安装4个SCSI设备。主SCSI上…