数据结构期末复习

绪论

重点

  • 带权路径长:所有叶子结点权值*根到叶子的路径(边条数)之和


  • 一个通讯簿为数据,每一行为一个数据元素,每一行里面的每一项(如:名字,电话号码)为数据项,数据对象:相同性质数据元素的集合,数据元素为数据的基本单位

  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合

  • 数据结构:逻辑结构,存储结构,操作


  • 数据元素之间的逻辑关系为数据的逻辑结构
  • 逻辑结构:
  • 任燕版
  1. 线性结构(只有一个直接前驱和直接后继)
  2. 非线性结构(可能有多个直接前驱或直接后继,集合,树,图)
  • 清华版
  1. 集合,线性结构,树形结构,网状结构


  • 存储结构:逻辑结构的计算机语言实现(清华版:顺序存储结构链式存储结构)
  1. 顺序存储
  2. 连接存储
  3. 索引存储(结点信息存在一个地址连续的空间,建立索引表,由若干索引项(关键字地址)组成,兼动态和静态特性)
  4. 哈希存储 (使用哈希函数)

  • 算法特性:有穷,确定,可行,输入,输出
  • 算法设计要求:正确性,可读性,健壮性(鲁棒性),效率和低存储要求

复杂度(时间复杂度和空间复杂度的合称)

  • O(f(N)):上限,增长率小于或等于上限
  • Ω(f(N)):下限,大于或等于下限
  • o(f(N)):上限,但不等于上限
  • Θ(f(N)) :等于

线性表

  • 顺序表:数组,计算器n存储元素个数,listsize最大存储个数
  • 非循环单链表:指针指向空时为结束
  • 循环单链表:最后一个元素的指针指向头,指针指向head时为结束
  • 循环双链表:前驱和后继指针

队列

  • 循环顺序队列

  • 队头front,队尾rear,front==rear为空,牺牲一个空间,rear+1==front为满

  • 0或多个字符组成的有限序列
  • 空串:长度为0
  • 空白串:仅由一个或多个空格组成的串

多维数组

  • 非线性结构

  • 分支节点:度不为0的结点
  • 内部结点:除根外的分支节点
  • 深度:根为1(维基为0)
  • 高:叶子为1(维基为0)
  • 层次:根第一层
  • 最大层次为树的深度或高度
  • 结点度:子树个数
  • 树的度:最大度数
  • 树的深度:最深结点深度

排序

  • 时间,辅助空间
  • 插入排序

  • 直接插入:就地稳定 ,N2
  • 折半插入:就地稳定,查找位置logN,移动N2,总体N2
  • 静态链表插入:就地稳定(数据域:数据,下一节点的下标),N2
  • 希尔排序:优化版直接插入,不稳定
  • 交换排序

  • 冒泡:就地稳定,N2
  • 快排:最坏N2,最好或平均nlogn ,栈空间最坏N,理想logn,不稳定
  • 选择排序

  • 直接选择:不稳定N2,选出最小后位置交换
  • 堆排序:就地不稳定,
  • 归并排序

  • 辅助n的空间,稳定,最好最坏都是nlogn
  • 分配排序

  • 箱排序
  • 基数排序
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值