二级VF公共基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章数据结构与算法

一、算法

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

2、算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

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

4、算法的运算和操作:算术运算、逻辑运算、关系运算、数据传输四类。

5、算法的控制结构:顺序、选择、循环三种基本结构。

6、算法的复杂度:包括时间复杂度和空间复杂度。所谓时间复杂度是指执行算法需要

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

二、数据结构及其操作

1、数据结构:包括数据的逻辑结构、数据的存储结构及各种数据结构进行的运算。

2、数据的逻辑结构:是指反映数据元素之间逻辑关系的数据结构。

3、数据的存储结构:是指数据的逻辑结构在计算机存储空间中的存放形式,也称数据

的物理结构。常用的存储结构有顺序、链接、索引。

4、线性结构:一个非空的数据结构有且只有一个根结点,每一个结点最多有一个前件,

也最多有一个后件。没有前件的结点称为根结点;没有后件的结点的称为终端结点

(叶子结点)

5、线性表:是最简单最常用的线性结构。

6、线性表的顺序存储结构的特点:一是线性表中所有元素所占空间是连续的,二是各

数据元素在存储空间中是按逻辑顺序依次存放的。

7、栈:是限定在一端进行插入与删除的顺序存储线性表,栈是按照先进后出或后进先

出的原则组织数据的。

8、栈的基本运算:入栈、退栈、读栈。当栈已满,不能进行入栈操作,这种情况称“上

溢”,当栈已空,不能退栈,称为“下溢”

9、队列:是指允许在一端进行插入、而在另一端进行删除的顺序存储线性表。队列是

按照先进先出或后进后出的原则组织数据的。

10、队列的基本运算:入队、退队。不能进行入队操作,这种情况称为“上溢”,当队

列为空,不能退队,称为“下溢”。

11、线性链表:线性表的链式存储结构。它克服了顺序存储结构的缺点,它的结点空间

可以动态申请与释放。它的数据元素的逻辑次序靠结点指针指示,不需要移动数据。便于插入和删除操作。

12、链式存储结构的缺点:一是每个结点指针域需占用存储空间,二是一种非随机存储

结构。

三、数与二叉树

1、树:一种简单的非线性结构。

2、根:没有前件的结点只有一个,称为树的根结点,简称根。

3、叶子结点:没有后件的结点称为叶子结点。

4、度:一个结点所拥有的后件个数称为该结点的度。所有结点中最大的度称为该树的

度。

5、深度:树的最大层次称为树的深度。

6、二叉树:一种非线性结构。

7、二叉树的特点:一是二叉树只有一个根结点,二是每个结点最多有两棵子树,分别

为左子树与右子树。

8、二叉树的基本特征:

<1>在二叉树的第K层上,最多有2k-1个结点。

<2>深度为M的二叉树最多有2M-1个结点。

<3>在任意一棵二叉树中,度为0的结点总是比度为2的结点多一个。

<4>具有N个结点的二叉树,其深度至少为[log2N]+1

<5>具有N个结点的完全二叉树的深度为[log2N]+1

9、二叉树的存储结构:一般采用链式存储结构。

10、二叉树的遍历:

<1>前序遍序:先访问根结点,前序遍历左子树,前序遍历右子树。

<中序遍历>:中序遍历左子树,访问根结点,中序遍历右子树。

<后序遍历>:后序遍历左子树,后序遍历右子树,访问根结点。

四、查找技术与排序技术

1、顺序查找:如线性表为无序表,或采用链式存储结构,只能用顺序查找。

2、二分法查找:只适用于顺序存储的有序表。

3、当长序为N的有序线性,在最坏的情况下,二分查找只需要比较log2N次,而顺序

查找比较需要N次。

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

5、排序方法:交换类排序法、插入类排序法、选择类排序法。

6、冒泡排序法:冒泡排序法是一种简单的交换类的排序方法。假设线性表的长度为N,

则在最坏的情况下需要的比较次数为:N(N-1)/2

7、希尔排序法:希尔排序法是一种插入类排序法。假设线性表的长度为N,则在最坏

的情况下需要比较次数为O(N1..5)

第二章程序设计基础

一、程序设计方法与风格

1、程序设计:就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向

对象的程序设计阶段。

2、程序设计的风格:最主要强调简单和清晰,程序必须是可以理解的。保证“清晰第

一,效率第二”。

3、结构化程序设计的主要原则:自顶向下、逐步求精、模块化、限制使用goto语句。

4、结构化程序的基本结构:顺序、选择、重复(循环)。

5、结构化程序设计的优点:一是程序便于理解、使用和维护,二是提交了编程工作的

效率,降低了软件开发成本。

二、面向对象的程序设计

1、面向对象方法的主要优点:一是与人类习惯的思维方式一致,二是稳定性好,三是

可重用性好,四是易于开发大型软件产品,五是可维护性。

2、对象:客观世界里的任何实体都可以被看作是对象,它由一组属性和操作组成。

3、对象的基本特点:标识惟一性、分类性、多态性、封装性、模块独立性好。信息隐

蔽是通过对象的封装性来实现的。

4、类:具有共同属性、共同方法的对象的集合。

5、实例:是指一个具体的对象,对象属于类的实例。

6、消息:在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发消息

完成的。

7、继承:在面向对象方法中,类之间共享属性和操作的机制称为继承。

8、多态性:同样的消息被不同的对象接受可导致完全不同的行为。

相关文档
最新文档