aaa计算机二级VB公共基础知识2教程文件
- 格式:doc
- 大小:172.00 KB
- 文档页数:33
计算机VB二级公共基础知识总结第一篇:计算机VB二级公共基础知识总结数据结构的基础知识数据结构的定义:指数据对象及其相关关系和构造方法。
结构是指结点之间的关系,数据结构就是在结点的优先集合和关系的有限集合。
数据结构的逻辑结构是指结点和结点间的相互关系。
数据结构在计算机的存储内容,一般包括结点的值和结点间的关系,数据结构的存储形式就是数据的存储结构。
数据结构按逻辑关系的不同分为线形结构和非线性结构两大类,非线性又分为树形结构和图结构,树形结构又分为树结构和二叉树结构。
2 线性表线性表是最简单、最常用的一种数据结构,它是由相同类型的结点组成的有限序列。
线性表最重要的性质是线性表中结点的相对位置是确定的。
线性表常用的运算有4种:查找运算、插入运算、删除运算和其他运算。
线性表的存储方式主要有:1)顺序存储:能直接访问线性表中的任意一个结点。
2)链接存储:用单链表存储线性表。
3 栈和队列的含义栈是只允许在同一端进行插入和删除运算的线性表。
队列是只允许在一端进行插入运算,另一端进行删除运算的线性表。
4 数组和字符串的特点数组是最常用的数据结构之一,一般用于描述顺序存储的线性表。
数组有固定个数的元素组成,全部元素的类型相同,元素按照顺序存储。
每个元素对应一个下标,数组元素按数组名和元素的下标引用,引用数组元素的下标个数称为数组的维数。
最常用的是二维数组。
5 树的基本概念、存储结构和遍历树是一种多分支、多层次的数据结构,有一组结点组成。
树是由一个结点或多个结点组成的有限集T,满足以下两个条件: 1)有一个特定的结点,称为根结点2)其余的结点分成m个互不相交的有限集T0等,每个集合都是根结点的子树。
树的定义是递归的,即一棵树是由子树组成,子树由更小的子树构成。
树的存储结构:树是非线性的结构,有多种实用的存储结构,最常用的是标准存储形式和带逆存储形式。
树的遍历方法有4种:树的前序遍历、树的后序遍历、树的层次遍历、访问树中所有的叶子特点。
心之所向,所向披靡全国计算机等级考试二级VB教程(1~6章)第四章VB程序设计基础一:基本数据类型:1 字符串(String)在VB中字符串是放在双引号内的诺干个字符,其中不含任何字符的字符串为空字符串字符串分变长字符串和定长字符串。
变长字符串:长度不确定。
定长字符串:有确定个数的字符2数值:整型数和浮点数整型数是不带小数点和指数符号的数。
在机器内部以二进制补码形式表示整型数又分整数和长整数:整数(Integer)以两个字节(16位)的二进制码表示和参加运算。
取值范围-32768~32767。
长整数(Long)以带符号的4个字节(32位)二进制数存储。
浮点数(小数是浮动的)分单精度浮点数和双精度浮点数:单精度浮点数(Single)以4个字节(32位)存储,用E来表示。
双精度浮点数(Double)用8个字节(64位)存储,用D来表示。
3货币(Currency)小数是固定的。
4字节(Byte)一种数值类型,以一个字节无符号二进制数存储,取值范围0~2555布尔(Boolean)两个字节存储,只有True和False两取值。
6日期(Date)格式:mm/dd/yyyy或mm-dd-yyyy。
二:常量和变量:1 常量:文字常量符号常量。
文字常量:①字符串常量:由字符组成,除双引号和回车符之外的任何ASCII字符,长度不能超过65535 ASCII码:A 65 B 66 a 97 b 98②数值常数:整型数、长整型数、货币型数和浮点数。
整形数:十进制、十六进制和八进制。
十进制整型数:由一个或几个十进制数字(0~9)组成,可带正负号。
十六进制整型数:由一个或几个十六进制数字(0~9及A~F或a~f)组成,前面冠以&H(或&h),取值范围&HO~&HFFFF。
八进制整型数:由一个或几个八进制数字(0~7)组成,前面冠以&(或&O)长整型数:十进制长整型数:其组成与十进制整型数相同。
李子富周北海林海汪群慧宋存义孙体昌王化军黄国忠孙春宝汪莉钱大益邢奕甘一萍施春红陈月芳计算机等级考试二级计算机等级考试二级计算机等级考试二级计算机等级考试二级VB基础教程基础教程基础教程基础教程1.1 Visual Basic 概述1.Visual Basic是什么Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言。
“Visual”指的是开发图形用户界面(GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。
“Basic”指的是BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,一种在计算技术发展历史上应用得最为广泛的语言。
Visual Basic 在原有BASIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和Windows GUI 有直接关系。
专业人员可以用Visual Basic 实现其它任何Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
Visual Basic Scripting Edition (VBScript)是广泛使用的脚本语言,它是Visual Basic 语言的子集,可嵌入HTML语言中,用于网页设计,如ASP(ActiveServer Page)文件。
VB简单易学,通用性强,用途广泛。
2.VB的功能VB可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。
数据访问特性允许对包括Microsoft SQL Server 和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端部件。
有了ActiveX(TM) 技术就可使用其它应用程序提供的功能,例如Microsoft Word 字处理器,Microsoft Excel电子数据表及其它Windows 应用程序。
a a a计算机二级V B公共基础知识2一.数据结构与算法一、基本概念:❖数据(Data):信息的载体,能够被计算机识别、存储和加工处理的物理符号。
包括文本类型的数据(如:字母、数字、汉字)和多媒体类型的数据(如:声音、动画、图像)。
❖数据元素(Data Element):是数据的基本单位,有时也称为元素、结点、顶点、记录,可以有若干个数据项(字段、域、属性)组成。
❖数据结构(Data Structure):指的是数据之间的相互关系,即数据的组织形式。
其包括三个部分:1、逻辑结构:数据元素之间的逻辑关系2、存储结构:数据元素及其关系在计算机存储器内的表示。
3、数据的运算(算法):即对数据施加的操作❖数据的逻辑结构有两大类:1、线性结构:特征是:若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点最多只有一个直接前趋和一个直接后继。
例:一维数组、链表、栈、队列、串2、非线性结构:特征是:一个结点可能有多个直接前趋和直接后继。
例:多维数组、广义表、树、图❖数据的存储结构有以下基本存储方法:1、顺序存储方法:该方法是将逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,一般通过数组来实现的。
2、链接存储方法:该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
通过指针类型来实现的。
3、索引存储方法:该方法通常是在存储结点信息的同时,还建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式是:关键字,地址。
4、散列存储方法:该方法的基本思想是根据结点的关键字直接计算出该结点的存储地址,通过散列函数实现。
例:除余法散列函数、相乘取整法散列函数❖算法的基本特征:1、可行性(Effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。
2、确定性(Definiteness):算法中的每一个步骤都必须有明确的定义,不允许出现歧义性。
3、有穷性(Finiteness):算法必须在有限时间内做完,即必须在执行有限个步骤之后终止。
❖时间复杂度:该算法执行的时间耗费,它是该算法所求解问题规模n的函数。
❖空间复杂度:该算法执行时所耗费的存储空间,它也是问题规模n的函数。
二、线性表:❖线性表(Linear List):是由n(n>=0)个数据元素(结点)a1,a2,a3,······,a n组成的有限序列。
对于非空的线性表,有且仅有一个开始结点a1,它没有直接前趋;有且仅有一个终端结点a n,它没有直接后继;其余的结点有且仅有一个直接前趋结点和一个直接后继结点。
❖线性表的存储结构:1、顺序存储(Sequential List):将线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里,用这种方法存储的线性表称为顺序表。
2、链式存储(Linked List):逻辑上相邻的结点,物理上也相邻,存储单元可以是连续的,也可以是不连续的,在存储每个结点值的同时,还存储指向其后继结点的地址,用这种方法存储的线性表称为链表。
❖常见的运算有:表的初始化、求表的长度、取表中的第i个结点、查找结点、插入新的结点、删除结点。
❖顺序表和链表的比较:1、基于空间的考虑:A、顺序表的存储空间是静态分配的,而链表的存储空间是动态分配的。
B、顺序表占的存储空间必须是连续的,而链表占的存储空间可以是连续的,也可是不连续的C、顺序表存储密度为1,而链表中的每个结点,除了数据域外,还要额外的设置指针域,存储密度小于12、基于时间的考虑:A、在链表中的任何位置上进行插入和删除,只需要修改指针,而顺序表中平均将要移动近一半的结点。
B、顺序表是随机存取结构,它的存取时间为O(1),而链表需从头结点顺着链扫描链表。
总之,当线性表的长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表作为存储结构;当线性表的长度变化较大,难以估计其存储规模时,以采用链表作为存储结构为好。
若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;对于频繁进行插入和删除的线性表,宜采用链表做存储结构。
例:关于线性表的描述中,错误的是()A、线性表是线性结构B、线性表的顺序存储结构,必须占用一片连续的存储单元C、线性表是单链表D、线性表的链式存储结构,不必占用一片连续的存储单元用数组表示线性表的优点是()A、便于插入和删除操作B、便于随机存取C、可以动态地分配存储空间D、不需要占用一片连续的存储空间三、栈:❖栈(Stack):是限制仅在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。
当表中没有元素时称为空栈。
是一种后进先出的线性表,又称为LIFO表。
❖栈的基本运算有:栈的初始化、判栈空、判栈满、进栈、出栈等❖栈的存储:顺序存储、链式存储例:若进栈的输入序列是A、B、C、D、E,并且在它们进栈的过程中可以进行出栈操作,则不可能出现的出栈序列是()A、EDCBAB、DECBAC、DCEABD、ABCDE四、队列:❖队列(Queue):也是一种运算受限的线性表,它只允许在表的一端进行插入,而在另一端进行删除。
允许删除的一段称为队头(Front),允许插入的一段称为队尾(Rear)。
(类似于生活中的购物排队)。
是一种先进先出的线性表,又称为FIFO表。
❖队列的基本运算:队列的初始化、判队空、判队满、入队、出队❖队列的存储实现:顺序存储、链式存储例:一个队列的入队序列是1,2,3,4,则队列的输出序列是()A、4,3,2,1B、1,2,3,4C、1,4,3,2D、3,2,4,1五、串:❖串(String):是零个或多个字符组成的有限序列。
串中所包含的字符个数称为该串的长度。
串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串注:空串是任意串的子串,任意串是其自身的子串❖串有串常量、串变量之分:1、串常量在程序中只能被引用但不能改变其值,即只能读不能写。
2、串变量其值是可以改变的。
❖串的基本运算:求串长、串复制、串联接、串比较、字符定位、六、树(非线性结构):❖树(Tree):是n(n>=0)个结点的有限集T,T(n=0)为空时称为空树,否则它满足如下两个条件:1、有且仅有一个特定的称为根(Root)的结点2、其余的结点可分为m(m>=0)个互不相交的子集T1,T2,…….,Tm,其中每个子集本身又是一棵树,并称其为根的子树(Subtree)。
❖在树的树形图表示中,结点通常是用圆圈表示的,结点的名字一般是写在圆圈旁边,有时亦可写在圆圈内。
❖度(Degree):一个结点拥有的子树数称为该结点的度。
一棵树的度是指该树中结点的最大度数。
❖叶子(Leaf):度为零的结点称为叶子或终端结点❖分支结点(Node):度不为零的结点称为分支结点。
❖树中某个结点的子树之根称为该结点的孩子(Child)结点或子结点,相应的该结点称为孩子结点的双亲(Parents)结点或父结点。
❖同一个双亲的孩子称为兄弟结点(Sibling)❖结点的层数(Level)是从根起算,设根的层数为1,其余结点的层数等于其双亲结点的层数加1.❖树中结点的最大层数称为树的高度(Height)或深度(Depth).❖森林(Forest):是m(m>=0)棵互不相交的树的集合。
删去一棵树的根,就得到一个森林,反之,加上一个结点作树根,森林就变为一棵树。
❖二叉树(Binary Tree):是n(n>=0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。
二叉树中,每个结点最多只能有两棵子树,并且有左右之分。
❖二叉树的五种基本形态:例:具有3个结点的二叉树有几种形态。
❖满二叉树(Full Binary Tree):一棵深度为k且有2k-1个结点的二叉树称为满二叉树❖完全二叉树(Complete Binary Tree):若一棵二叉树至多只有最下面的两层上结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。
二叉树的性质:性质1:二叉树第i层上的结点数目最多为2i-1(i>=1)性质2:深度为k的二叉树至多有2k-1个结点(k>=1)性质3:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1性质4:具有n个结点的完全二叉树的深度为[]+1(取下整) 或[](取上整)。
例:一棵二叉树的结点数为18个,求它的最小高度已知度为2的结点数为15个,求叶子结点数 15二叉树的遍历:❖遍历(Traversal):是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。
前序遍历:(又称为先序遍历、先根遍历)若二叉树为空,则执行空操作。
否则:1、访问根结点;2、前序遍历左子树;3、前序遍历右子树。
中序遍历:(又称为中根遍历)若二叉树为空,则执行空操作。
否则:1、中序遍历左子树;2、访问根结点;3、中序遍历右子树。
后序遍历:(又称为后根遍历)若二叉树为空,则执行空操作。
否则:1、后序遍历左子树;2、后序遍历右子树;3、访问根结点。
例:已知一棵二叉树的中序遍历序列是:FDGBACHE,其后序遍历序列是:FGDBHECA求其前序遍历序列。
一棵二叉树的前序遍历序列为ABDGCFK,中序遍历序列为DGBAFCK,则结点的后序遍历序列是()A、ACFKDBGB、GDBFKCAC、KCFAGDBD、ABCDFKG七、排序(Sort):❖所谓排序,就是指整理文件中的记录,使之按关键字递增(或递减)次序排列起来。
❖冒泡排序(Bubble Sorting):通过对待排序序列从后向前或从前向后(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部或较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元)。
❖直接选择排序(Selection Sorting):扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。
❖直接插入排序(Insertion Sorting):每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。
❖快速排序(Quick Sorting):任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。