NCRE2.1.1

NCRE 2.1公共基础知识详解

2.1.1数据结构与算法

1. 算法的基本概念

  • 算法是指对解题方案的准确而完整的描述。 解决问题的操作步骤

  • 基本特征:
    可行性-达到预期目的;
    确定性-步骤明确;
    有穷性-有限时间完成;
    拥有足够的情报-拥有足够的输入信息和初始化信息的情况下才有效

  • 算法复杂度

    时间复杂度 执行算法所需要的计算工作量,用运算次数来度量,而非具体时间(受到计算机状况,程序设计语言以及许多其他细节影响)。具体分析时,输入不同算法所执行的基本运算次数不同。

    空间复杂度 执行这个算法所需要的内存空间。
    输入数据所需存储空间+程序本身所占存储空间+算法执行过程中所需的额外空间 额外空间=程序执行+数据结构
    原地工作 额外空间不随问题规模的变化而变化

2.数据结构的基本概念

  • 数据结构是指相互有关联的数据元素的集合 数据+结构 B=(D,R)
    逻辑结构和物理结构
    图形表示
    线性与非线性结构
    在这里插入图片描述

3. 线性表及其顺序存储结构
线性表=线性结构 唯一根节点,唯一终端节点
两个基本特征:所有元素所占的存储空间连续 、 元素按逻辑依次存放

4. 栈和队列

  • 所有的插入删除都限定在表的同一端栈顶 支持子程序调用
    修改原则:先进后出
  • 队列 在一端插入,另一端删除
    修改原则:先进先出

5.线性单链表双向列表循环列表的运算

类型优点缺点
顺序表可以随机存取任意节点,无需存储逻辑关系运算效率低,存储空间不易扩充,不利于存储空间的动态分配
链表运算时只需改变指针,存储空间易于扩充需要额外的空间存储逻辑关系,存储密度低于顺序表

6.树的基本概念

  • 1树是一种非线性结构
基本概念含义
父节点(根)每一个节点只有一个前件,没有前件的节点只有一个简称树的根
子节点每一个节点可以有多个后件
叶子节点没有后件的节点
一个节点所拥有的后件个数称为节点的度,所有节点中最大的度成为树的度
深度层数
子树以某一个子节点为根构成的树

树的节点数等于树中所有节点的度之和再加1

  • 2二叉树
    特点:为空或唯一根节点,每个节点最多有两棵子树,子树有左右之分

    性质:

  • 1.在二叉树的第k层上,最多有2k-1(k>=1)个节点
    2.深度为m的二叉树中,最多有2m-1个节点
    3.对任何一棵二叉树,度为零的节点,总是比度为2的节点多一个
    4.具有n个节点的二叉树其深度至少为[log2n] +1

  • 满二叉树
    除最后一层外,每一层上的所有节点都有子节点的二叉树

  • 完全二叉树
    除最后一层外,每一曾上的节点树均达到最大值,在最后一次只缺少右边的若干节点的二叉树
    特点:叶子节点只在最后两层出现;若右子树的深度为m,左子树的深度为m或m+1
    5.具有n各个节点 的完全二叉树的深度为log2n +1

  • 3二叉树的存储结构 链式存储结构
    左指针域指向左子节点;右指针域指向右子节点
    对于满二叉树和完全二叉树可以按层次进行顺序存储

  • 4二叉树的遍历 不重复地访问所有节点
    原则:先左后右
    ①前序遍历:根→左子树→右子树
    ②中序遍历:左子树→根节点→右子树
    ③后序遍历:左子树→右子树→根节点

7.查找技术

查找技术适用范围
顺序查找线性表无序,链式存储线性表 the best 1次,the worst n次,avg n/2
二分法查找有序顺序线性表(从小到大) the worst log2n

8.排序技术

排序技术小类特征
交换类排序法冒泡排序法消去逆序直到所有元素有序 THE WORST 长度为n的线性表排列,n(n-1)/2
-快速排序以一个数字为分界,小于放前面,大于放后面 the worst n(n-1)/2
插入类排序法简单插入排序将无序表的数据插入有序表the worst n(n-1)/2
-希尔排序取整数,分若干组nr
选择类排序法简单选择排序法不断选择最小的元素与前面的元素进行交换the worst n(n-1)/2
-堆排序法完全二叉树the worst nlog2n
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值