公共基础知识理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.edeba
B.dcbae
C.badce
D.cbaed
E.eabcd
用长度为50的数组(元素的下标从0到49)作为栈的存储空间,指针bottom和top分别指向栈底和栈顶元素,如果bottom=49,top=30,则栈中有(20)个元素
支持子程序调用的数据结构式
A.栈
B.树
C.队列
D.二叉树
队列
队列也是一种线性表
算法的时间复杂度:是指算法所需要的计算工作量可以用算法所执行的基本运算次数度量
算法的空间复杂度:是指执行算法所需要的内存空间包括算法程序,输入的初始数据以及算法执行过程中需要的额外空间
算法的时间复杂度和空间复杂度是相互独立的
数据结构
数据:需要处理的数据元素的集合,一般来说,这些数据元素,具有某个共同的特征
数据元素是数据的基本单位即数据结合中的个体
有时一个数据元素可以由若干数据项组成,数据项是数据的最小单位
结构:所谓结构,是集合汇总各个数据元素之间存在的某种关系或者联系
数据结构:是指相互有关联的数据元素的集合
数据结构的分类
逻辑结构反映数据元素之间的逻辑关系的数据结构
线性结构
什么是线性结构简单的说就是用一条线可以把所有的数据串起来
队列是指允许在一端进行插入,而在另一端进行删除的线性表
原则是先进先出后进后出
对头指针front
对尾指针rear
入队
出队
队列中元素随队头指针和队尾指针的变化而动态变化
循环队列
循环队列就是将队列存储空间的最后一个位置绕道第一个位置,形成逻辑上的环状空间。
Rear>front
S=rear-front
Rear<front
逻辑结构
非线性结构
数据结构
存储结构
程序设计基础
程序设计的风格:清晰第一效率第二
良好的程序设计风格可以程序结构清晰合理使程序代码便于维护
程序设计方法
结构化程序设计
结构化程序设计的原则:
1.自顶向下
2.逐步求精
3.模块化
4.限制使用goto语句
结构化程序设计的基本结构:
顺序结构
选择结构
重复结构
面向对象的程序设计
算法
算法:是指解题方案的准确而完整的描述(算法不等于程序)
可行性在设计一个算法时必须考虑他的可行宁
确定性算法中的每个步骤必须明确定义的不允许模棱两可
有穷行算法必须在有限时间内运行完毕不能出现死循环
足够的情报是指算法要有一定的输入数据和必须要有输出结果
算法的三种基本结构
顺序选择循环
算法的时间和空间复杂度
S=容量+rear-front
Rear=front
S=容量或者0
例题
设某循环队列容量为50,如果头指针front=45(指向队头元素的前一个位置),尾指针rear=10(指向队尾元素),则该循环队列中共有(15)个元素
套用公式
线性链表
通常线性表可以采用顺序存储和链式存储,但一般采用顺序存储
线性表的顺序存储又叫顺序表
对象:
什么是对象按钮复选框有属性(静态的)有操作(动态的)
对象的特征:
标识唯一性
分类性
多态性
封装性
模块独立性号
类和实例
消息
继承
多态性
线性表的链式存储叫线性链表
线性链表的特点
1.各数据结点的存储空间可以不连续
2.各数据元素的存储顺序与逻辑顺序可以不一致
3.线性表的链式存储所占空间大于顺序存储结构
4.查找结点时链式存储结构比顺序存储结构慢
5.插入或者删除元素时链式存储结构比顺序存储结构要方便不需要移动其他元素
双向链表
循环链表
都是线性结构
查找技术
顺序查找
从线性表中的第一个元素开始查找逐个将线性表中的元素与查找元素比较
对于长度为n的线性表,最好的情况是比较1次,最坏的情况是比较n次
顺序查找适用于无序表或链式线性表(无序和有序)
二分查找
适用于顺序存储的有序表
把线性表中的元素从小到大排列
把要查找的值跟表中间的值相比较
最坏情况下需要比较log2n次比较
有且只有一个根结点,她无前件
每一个结点最多有个前件,也最多有一个后件
非线性结构
存储结构数据的物理结构是数据的逻辑结构在计算机存储空间中的存放方式
顺序存储
这种存放方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里
链式存储
每一个结点至少包含一个指针域,用指针的指向来体现数据元素之间在逻辑上联系

栈是一种特殊的线性表插入和删除只能在线性表的一端
栈底封闭的一端
栈顶进/出口只能在栈顶插入和删除
栈的修改原则:先进后出后进先出
栈底指针bottom
栈顶指针top
入栈
栈满
栈底指针不变栈中元素随栈顶指针的变化而动态变化
栈具有记忆功能
栈支持子程序调用
例题:
一个栈的初始状态为空,将元素abcde一次入栈,不可能的出栈顺序是()
一种逻辑结构可以由多种存储结构
不同的存储结构其处理数据的效率不同
运算
插入删除查找wk.baidu.com序
线性表
线性表是n个元素构成的有限序列
线性表是一种线性结构
线性表的顺序存储结构
特点
1.所占的存储空间是连续的
2.各数据元素在存储空间中是按逻辑顺序依次存放的
3.可以随机访问数据元素
4.插入、删除数据元素时需要移动大量的数据
排序
排序
平均时间
最坏情况
交换类
冒泡排序
n(n-1)/2
n(n-1)/2
快速排序
n(n-1)/2
n(n-1)/2
插入类
插入排序
n(n-1)/2
n(n-1)/2
希尔排序
nlog2n
n1.5
选择类
选择排序
n(n-1)/2
n(n-1)/2
堆排序
nlog2n
nlog2n
总结:
线性结构:线性表(栈、队列、循环队列、线性链表、双向链表、循环链表)
相关文档
最新文档