计算机二级MS Office-1.基础数据结构与算法

算法

算法是指对解题方案完整且准确说我描述,算法不等于数学上的计算方法,也不等于程序。

1.算法的基本特征

算法设计不能只考虑算法的效率,还需要考虑可行性、确定性、有穷性、拥有足够的情报。
有穷性:算法必须在有限时间内做完,即算法必须能在执行有限个步骤之后终止。
可行性:算法中的操作都是可以被分解为可现实的基本运算,并且在有限次内完成。
确定性:算法中的每个步骤都有定义。
拥有足够的情报:算法有0个或多个输入,有一个或多个输出。
2.算法的复杂度
算法的复杂度分为时间复杂度空间复杂度算法的时间复杂度与空间复杂度没有直接联系。
(1)时间复杂度:是指算法执行过程中所需要的基本运算次数。
算法的时间复杂度与使用的计算机系统、程序设计语言、以及实现算法过程中的具体细节无关,但与问题的饿规模有关。在规模固定的情况下,算法的时间复杂度还可能与特定的输入的有关。
(2)空间复杂度:是指算法在执行过程中所需要的计算机存储空间

数据结构【难点】

数据结构是指存在特定关联的数据元素的结合,分为逻辑结构存储结构

1.1数据结构的概念

(1)逻辑结构:数据间的逻辑关系。
(2)存储结构:数据逻辑关系在计算机存储空间中的存放形式。
数据逻辑结构可表示为:
B=(D,R)
B表示数据结构
D表示数据元素的集合
R表示关系(前件与后件的关系)为反应前后件的关系,通常用二元组(a,b)来表示,表示a是b的前件。

1.2线性结构与非线性结构

若一个非空的数据结构有且只有一个根节点,每个节点最多只有一个前件一个后件。这种数据结构称为线性结构,否则为非线性结构。
在线性结构中插入或删除一个结点,还应是线性结构,否则为非线性结构。
非线性结构通常采用链式存储结构,但有的可以采用顺序存储结构(满二叉树、完全二叉树)

1.3线性表

线性表是线性结构的一种。
矩阵是一个线性表

线性表既可以采用顺序存储结构也可以采用链式存储结构
(1)线性表个数据元素在存储空间中是按逻辑顺序依次存放,所有元素所占存储空间都是连续的
(2)线性表中各元素需要具有相同的数据性,链式存储空间大于顺序存储空间。

1.4栈和队列


栈是一种运算受限的线性表,插入与删除都只允许在一端(栈顶)进行。栈被称为“先进后出”,“后进先出”。

设S=a1,a2,a3......an
a1为栈底
an为栈顶(允许插入或删除的一端)

队列
队列是一种特殊的线性表,只允许在队头进行删除,在队尾插入。队列被称为“先进先出”,“后进后出”
队列的顺序结构一般采用循环队列的形式。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。因此当rear(尾指针)=front(头指针)式,可能是队满或队空。

1.5线性链表

线性表的链式存储结构称为线性链表。链式存储结构既可以表示线性结构也可以表示非线性结构。栈和队列也可以用链式存储结构表示,分别被称为带链的栈和带链的队列。

树与二叉树

树式一种简单的非线性结构。树的结点数等于所有结点的度之和再加一。

父结点:每个结点只有一个前件,这个前件就是该结点的父结点。
根结点:只有一个结点没有前件,该结点就是根结点,简称树的根。
子结点:每个结点可以有多个后件,这些后件就是该结点的子结点。
叶子结点:没有后件的结点称为叶子结点。
度:一个结点含有的后件的个数称为该结点的度。所有结点中最大的度称为树的度
深度:根结点所在层次为1,其他结点所在层次为其父结点所在层次为1。最大的层次称为树的深度
子树:以某个节点的一个子结点为根结点构成的树,称为该结点的子树。

二叉树

二叉树是每个结点最多只有两颗子树的树结构。
二叉树通常采用链式存储结构。所有的二叉树只能用二叉链表表示。
满二叉树:除最后一层,其余每一层的结点都有点两个子结点的二叉树称为满二叉树。
完全二叉树:出最后一层,其余每一层的结点树均达到最大值,且最后一层上只缺少右边的若干结点,这种树称为完全二叉树。

查找技术

1.顺序查找
2.二分法查找

排序技术

1.交换类排序
(1)冒泡排序
(2)快速排序
2.选择类排序
(1)简单选择排序
(2)堆排序
3.插入类排序
(1)简单插入排序
(2)希尔排序

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值