- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                VB公共基础知识汇编
                    算法是指解题方案的准确而完整的描述
算法不等于程序,也不等于计算方法,程序不能优于算法。
算法的基本特征:
(1) 可行性
(2) 确定性
(3) 有穷性
(4) 拥有足够的情报
算法是一组严谨地定义运算顺序的规则,每一个规则都是有效的,并且是明确的,此运算顺序将在有限的次数下终止。
算法的基本要素:
数据对象的运算和操作
算法的控制结构:
顺序
选择
循环
算法设计的基本方法:
列举法
归纳法
递推
递归
减半递推
算法复杂度主要包括:
时间复杂度计算工作量
空间复杂度内存空间
数据结构是指相互有关联的数据元素的集合
相互有关联含有某种结构
在数据结构中应包含以下二方面的信息:
数据元素本身的值
各数据元素之间的互相关系
数据结构主要研究和讨论以下三个方面的问题:
逻辑结构
存储结构
对各种数据结构的运算
(1)逻辑结构
具有逻辑关系的数据结构称为数据的逻辑结构
数据的逻辑关系中最简单的描述是前后件关系
前面的元素称为“前件”
位于后面的元素称为“后件”
(2)存储结构
数据的存储结构有三种:
顺序结构
链接结构
索引结构
数据的逻辑结构反映数据元素之间的内在关系和固有的联系
数据的存储结构是数据的逻辑结构是表示数据元素在计算机中的存储形式。
(3)对各种数据结构的运算
主要是指对数据的查找、插入、删除、修改等运算
数据结构的二种表示方法:
(1)  二元关系(前后件关系)
数据集合用记号D表示,数据元素之间的前后件关系用记号R表示,数据结构用记号B表示。三者的关系式为:
B=(D,R)
D和R又可以用包含不同元素的向量来表示
比如:一年四季的数据结构,可以这样表示:
B=(D,R)
D={春,夏,秋,冬}
R={(春,夏),(夏,秋),(秋,冬)}
(2) 图形表示法
对于数据集合中的每一个数据元素,用中间标有元素值的方框表示,数据元素之间的联系用带有箭头的有向线段连接
方框一般称为结点,各数据元素之间的还含有前后件关系,就用有向线段从前件结点指向后件结点。
春 → 夏 → 秋 → 冬
数据结构分为两大类型:
线性结构
非线性结构
线性结构条件:
有并且只有一个根结点
每一个结点最多有一个前件,也最多有一个后件
常见的线性结构有:
线性表
栈
队列
线性链表
常见的非线性结构有:
树
二叉树
图
空的数据结构不确定
线性表由一组线性结构的数据元素构成,元素之间的相对位置是线性的
线性表的长度——数据元素的个数
矩阵也是一个线性表
在更复杂的线性表中,每一个数据元素不是简单的一项,而是由多个数据项组成一个数据元素
由多个数据项组成的一个数据元素称为一条“记录”
由多条记录构成的线性表又称为“文件”
线性表的二种存储方式
顺序
链式
线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ARD(a1)
ARD(a1)+k
ARD(a1)+(i-1)k
ARD(a1)+(n-1)k
顺序表的插入运算是通过移动元素来实现的
平均需要移动n/2个元素
进行顺序表的删除运算时也需要移动元素
平均需要移动(n-1)/2个元素
栈是一种特殊的线性表。它限定,只能在一端进行插入和删除数据,另一端是封闭的
它的特点是:先进后出,后进先出。具有记忆功能
栈的运算为:
入栈运算
退栈运算
读栈顶元素
当栈顶指针为0时,说明是栈空,此时是读取不到数据元素的
栈的存储有两种:
顺序栈
链式栈
队列也是一种线性表
是“先进先出”或“后进后出”的线性表
队列是在队尾插入新的数据,在队头取出数据,并在队列中删除该数据。
尾指针(rear)
头指针(front)
栈的空间是事先被开辟好的,假如存放的数据大于存储空间,将会产生“溢出”。
队列运算包括
入队运算
退队运算
入队运算退队运算
循环队列
将队列存储空间的最后一个位置设置到队头的前一个位置,在逻辑上形成环状的空间。
队列空的条件:s=0;
队列满的条件:s=1且front=rear
初始状态:s=0,且front=rear=m
s=1不能进行入队运算
s=0不能进行退队运算
线性链表在物理存储单元上非连续、非顺序
数据元素的逻辑顺序是通过线性表中的指针链接来实现
每个结点由两部分组成:数据域和指针域
线性链表的实例:
双向链表:
带链的栈:
HEAD                                                  
带链的栈可以称为可利用栈。
当计算机需要新的结点时就从可利用栈中取出存储结点,假如从线性表中删除一个结点时,可将该结点放到可利用栈中去。
带链的队列
             
         front                              
                
原创力文档
                        

文档评论(0)