ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-03-28 11:53:53  阅读:482  来源: 互联网

标签:线性表 递归 队列 元素 MaxSize 算法 front 数据结构 rear


一.思维导图

二.重要概念

  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

标签:线性表,递归,队列,元素,MaxSize,算法,front,数据结构,rear
来源: https://www.cnblogs.com/wzt392217419/p/12575643.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有