竭诚为您提供优质文档/双击可除软件设计师该怎么安排计划学习
篇一:软件设计师教程学习笔记(五)
软件设计师教程学习笔记(四)
希赛小编为准备参加20XX上半年软件设计师考试的同
学准备了一些数据结构与算法知识的学习笔记,供大家复习
备考。预祝大家备考顺利,考试得高分。
1、算法的基本特征:可行性、确定性、有穷性、拥有
足够的情报
2(:软件设计师该怎么安排计划学习)、算法的基本运算
和操作:算术运算、逻辑运算、关系运算、数据传输
3、算法的基本控制结构:顺序结构、选择结构、循环
(重复)结构
4、算法设计的基本方法:列举法、归纳法、递推、递
归、减半递推技术、回溯法
5、算法的复杂度主要包括:时间复杂度、空间复杂度
6、算法的时间复杂度:指执行算法所需要的计算工作
量
第1 页共19 页
7、算法的空间复杂度:指执行这个算法所需要的内存
空间
8、数据结构主要研究:数据的逻辑结构、数据的存储
结构、对各种数据结构进行的运算
9、数据结构研究的目的:提高数据处理的效率
10、数据处理的效率:数据处理的速度、减少处理过程
中占用计算机的存储空间
11、数据处理:指对数据集合中的各元素以各种方式进
行运算
12、数据元素:指在数据处理中,每一个需要处理的对
象都可以
抽象成数据元素
13、数据结构:指反映数据元素之间关系的数据元素集
合的表示
14、数据的逻辑结构:指反映数据元素之间逻辑关系的
数据结构,两要素:数据元素的集合、数据元素在集合上的
关系
15、数据的存储结构:指数据的逻辑结构在计算机存储
空间的存放形式,常用的存储结构有:顺序、链接、索引等
16、数据结构的图形表示中每个元素加上方框成为结点
17、数据结构一般分为:线性结构、非线性结构
18、线性结构满足:有且仅有一个根结点、每个结点最
第2 页共19 页
多有一个前件和后件、在一个线性结构中插入和删除任何一
个结点后还是线性结构
19、线性表定义:线性表是由n个数据元素a1、a2、a3、
a4an组成的一个有限序列,表中每一个数据元素,除了第一
个外,有且仅有一个前件,除了最后一个外,有且仅有一个
后件
20、非线性表的特征:有且只有一个根节点a1,它无前
件、有且只有一个终结点an,它无后件、除了第一个和最后
一个外,其他所有结点只有一个前件和一个后件
21、线性表的长度:线性表中的结点的个数n成为线性
表的长度,当n=0时,成为空表
22、线性表的顺序存储的特点:所有元素所占的存储空
间是连续的、各数据元素在存储空间中是按逻辑顺序一次存
放的
23、线性表的随机存取地址计算公式:
ADD(ai)=ADD(a1)+(i-1)*k
24、线性表的主要操作:插入、删除、查找、排序、分
解、合并、复制、逆转
25、栈的定义:栈是限定在一端进行插入和删除的线性
表,它按照“先进后出,后进先出”的原则组织数据
26、栈的顺序存储:在程序设计语言中,一般一维数组
s(1:m)作为栈的顺序存储空间,其中m为栈的最大容量
第3 页共19 页
27、栈的基本运算:入栈、退栈、读栈顶元素
28、入栈运算:首先将栈顶指针(top)加1,然后将新
元素插入到栈顶指针指向的位置。当栈顶指针已经指向存储
空间的最后一个位置时,说明栈空间已满,称为“上溢”错
误
29、退栈运算:首先将栈顶元素赋给一个指定的变量,
然后将栈顶指针(top)减1。当栈顶指针为0时,说明栈空,
成为“下溢”错误
30、队列的定义:队列是指允许在一端进行插入,而在
另一端进行删除的线性表,它按照“先进先出”的原则组织
数据
31、循环队列:在实际应用中,队列的顺序存储结构一
般采用循环队列的形式。所谓循环队列,就是将队列存储空
间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,
供队列循环使用
32、循环队列空的状态:s=0,且front=rear=m
循环队列满的状态:s=1,且front=rear33、循环队列
的基本运算:入队、退队
34、入队运算:同样队列满时发生“上溢”错误
35、退队运算:同样队列空时发生“下溢”错误
36、线性链表的基本概念:线性表的链式存储结构
37、线性链表的存储结构:线性链表的每个结点中数据
第4 页共19 页
域存放数据元素的值,指针域存放好后件结点的存储地址
38、双向链表的存储结构:双向链表的存储结构比线性
链表的存储结构多出一个指针域,它用来存放前面的存储地
址
39、栈的链式结构:栈的链式结构基本上和线性链表的
链式存储结构相同。只是线性链表的链式存储结构的头指针
变成了栈的链式结构的栈顶指针
40、队列的链式结构:队列的链式结构和线性链表的存
储结构基本相同。只是队列的链式结构保持有两个指针:一
个指向队列头的头指针,一个指向队列尾的尾指针