首页 > 编程语言 > 详细

数据结构、算法及线性表总结

时间:2020-03-28 12:30:36      阅读:68      评论:0      收藏:0      [点我收藏+]

一.思维导图

技术分享图片

二.重要概念

  1. 数据的逻辑结构的类型

    1. 集合:数据元素之间除了“同属于一个集合”的关系以外别无其它关系。
    2. 线性结构:数据元素之间存在一对一的关系。
    3. 树形结构:数据元素之间存在一对多的关系。
    4. 图形结构:数据元素之间存在多对多的关系。
  2. 线性表:除了第一个元素和最后一个元素,其余每个元素都只有唯一前驱和唯一后继。

  3. 队列:顺序队中有可能出现假溢出的情况,这时应该把存储队列元素的数组从逻辑上看成一个环,称为循环队列。入队和出队时采用数学上的求余运算。例:

    · 队头指针front循环增1:front = (front + 1) % MaxSize
    · 队尾指针rear循环增1:rear = (rear + 1) % MaxSize

  4. 递归能解决的问题应该满足以下三个条件

    1. 需要解决的问题可以转化为一个或多个子问题来求解,而这些子问题的求解方法与原问题完全相同,只是在数量规模上不同。
    2. 递归调用的次数必须是有限的。
    3. 必须有结束递归的条件来终止递归。

(注:其余重要概念已在思维导图中写出,在此不再赘述)

三.疑难问题及解决方案

  1. 顺序队中,如何区分队空和队满?
    使用一个不存储数据的空间判断(即队列中仅存储MaxSize-1个元素)例:

    · 队空:q->rear == q->front
    · 队满:(q->rear + 1) % MaxSize == q->front

数据结构、算法及线性表总结

原文:https://www.cnblogs.com/wzt392217419/p/12575643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!