wordpress的编辑器/seo排名查询软件
计算机二级公共基础知识
1算法的基本概念
1、算法一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。
算法是对解题方案的准确而完整的描述,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效和明确的,此顺序将在有限的次数下终止。
2、算法的基本要素
(1)算法中对数据的运算和操作。通常有4类:算术运算,逻辑运算,关系运算和数据传输。
(2)算法的控制结构。算法的功能不仅仅取决于所选择的操作,还与操作之间的执行顺序及算法的控制结构有关。
3、算法设计基本方法
算法设计的基本方法有列举法、归纳法和递推法、递归法和减半递推技术。
4、算法的复杂度(在算法正确的前提下,评价算法的标准)
(1)算法的时间复杂度
算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。
(2)算法的空间复杂度
算法的空间复杂度,一般是指执行这个算法所需要的内存空间。一个算法所占的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
数据结构,直接影响算法的选择和效率。而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。
数据之间的相互关系称为逻辑结构。通常分为4类基本逻辑结构,即集合、线性结构、树形结构和图状结构或网状结构。存储结构图是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机有两种,即顺序存储结构和链式存储结构。
时间复杂度与空间复杂度之间没有必然的联系。
2数据结构基本概念
数据结构是指反映数据元素之间的数年据元素集合的表示。
所谓数据的逻辑结构,是指所映数据元素之间逻辑关系的数据结构。数据的逻辑结构有两个要素:一是数据元素的集合;二是数据元素之间的关系。
各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
3线性表和线性链表
线性结构与非线性结构
根据数据结构中各数据元素之间前后件关系复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:
有且只有一个根结点。(2)每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构不是线性结构,则称之为非线性结构。
如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
线性表的基本概念
线性表是由n(n>=0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。
3、线性表的顺序存储结构
线性表的顺序存储结构具有以下两个基本特点:线性表中所有元素所占的存储空间是连续的。线性表中各数据元素在存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面。
在顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定。
线性链表
大的线性表,特别是元素变动频繁的大线性表不宜采用顺序存储结构,而应采用链式存储结构。
在链式存储结构中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针于指向该结点的前一个或后一个结点。
在链式存储结构称为线性链表。一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。栈和队列也是线性表,也可以采用链式存储结构。
线性链表的基本运算
线性链表的基本运算有:在非空线性链表中寻找包含指定元素值X的前一个结点P,线性链表的插入,线性链表的删除。
循环链表及其基本运算
循环链表的结构与一般的单链表相比,具有以下两个特点:
在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。
循环链表中最后一个结点的指针域不是空,而是指向表头结点。
在单链表中,增加头结点的目的是方便运算的实现。
循环链表的主要优点是从表中任一结点出发都能访问到整个链表。
⑸ 线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构、顺序存取的存储结构
4栈和队列
栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的。栈的运算、退栈运算、读栈顶元素。
队列是是允许在一端进行插入、而在另一端进行删除的线性表。队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则。
所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上环状空间,供队列