日常管理,先上思维导图

线性表

1 定义:n个元素的有限序列,通常记为(a1,a2,...,an)

2 特点:存在唯一表头表尾,直接前驱,直接后继

3 存储

1)顺序存储

定义:用一组地址连续的存储单元依次存储线性表中的数据元素,逻辑、物理紧邻,类似数组

优劣:可随机存取元素,但修/删需要移动大量元素

2)链式存储

定义:用结点来存储数据元素,逻辑紧邻,物理(不)连续

优劣:插/删不需移动元素,但增加了存储开销,不能随机访问结点(保存数据域和指针域)

延伸:1)双向链表:每个结点包含两个指针,指明直接前驱和直接后继元素,可在两个方向上遍历链表

2)循环链表:表尾结点的指针指向表头结点,可在任何位置遍历整个元素

3)静态链表:借助数组来描述线性表的连接存储方式

4 线性表的插入和删除

1)顺序存储结构

挪元素,插入;删元素,挪动

2)链式存储结构

实质:对相关指针的修改

插入、删除

插入:先读取P指针next指向,即b地址;

让C指向它;

然后让P指向C的地址;

删除:a指向被删除元素(b)指向的元素c

1 概念:通过一端(栈顶)实现数据存储和检索的一种线性表,有栈底,先进后出

2  存储结构

1)顺序存储

增加指针top指向栈顶元素

2)链式存储(链栈)

不必设头节点(栈顶操作),头指针=栈顶指针

队列

1 概念:先进先出的线性表,一端插入(对尾),另一端删除(对头)

2 存储结构

1)顺序存储

设置队头/尾两个指针

2)链式存储(链队列)

添加头结点,指向头指针。

队列为头指针=尾指针,指向头节点

1 概念:由字符构成的有限序列,取值范围受限的线性表。记为S=’a1 a2 a3 ... an‘,S是串名,右边是串值

2 特例:1)空串:长度为零 的串,,无任何字符

2)空格串:一/多个空格串构成的串

3)子串:由串中任意长度的连续字符构成的序列,类似子集。

子串在主串中的位置是该子串(首席出现)的第一个字符在主串中的位置。

空串是任意串的子串,例:cb

4)主串:包含字符的串,例:abcddcc

5)串相等:两个串长度相等,且对应位置上的字符相同

6)串比较:依次比较字符ASCII码,先大者大,始终相等,串长者大

a:97 、A:95、0 :48

3 串的存储结构

串结束以 \0 结束

1)顺序存储

用一组地址连续的存储单元来存储串值的字符序列

2)链式存储

每个结点可存一/多个字符,考虑存储密度问题

树前面有说过

KMP算法

1 概念:字符串匹配算法

2 实现:实现一个next()函数,函数本身包含了模式串的局部匹配信息

部分匹配表位数:

字符串(已匹配字符串)

1)前缀:除了最后一个字符外,所有以最后一个字符结尾的子串

2)后缀:除了第一一个字符外,所有以第一个字符开头的子串

3)部分匹配位数:前缀和后缀共有元素对应的长度

3 移动位数:已匹配位数-部分匹配位数

4 例题(若next[j]可取两个数,则取其中较大的)

1 概念:由两个集合V和E构成的二元组,记作:G=(V,E)。

V是顶点的非空有限集合

E是图中边的有限集合

2 1)有向图:G的每条边有方向;顶点间关系<vi,vj>

2)无向图:G的每条边都无方向;顶点关系(vi,vj)

3)完全图:G的任意两个顶点都有一条边相连接

1)有向完全图:边数:n(n-1)

2)无向完全图:边数:n(n-1)/2

3 度:顶点V的度是与它相关联的边的条数,以下两者之和

1)入度:以V为终点的有向边的条数 ID(V)

2)出度:以V为始点的条数OD(V)

4 带权图

边上带权的图,权指每条边上的数

5 连通图

连通图:无向图中从一个结点到任意一个结点有路径相连。边的数目>=顶点数目-1

强连通图:对于任意两个顶点,存在到双方的有向路径。

6 生成树

1)极小连通子图,n个结点,n-1条边

若添加一条边,构成一个环,减去一条边,非联通图

2)最小生成树:带全路径和最小

7 图的存储结构

1)邻接矩阵

n个结点的图,可使用n*n的矩阵(二维数组)表示邻接关系

2)邻接表

由表头结点和表结点两部分组成

8 图的遍历

1)深度优先搜索(DFS)

q

2)广度优先搜索(BFS)

拓扑排序

AOV网:有向无序图。类似前驱图

AOV顶点的顺序称为拓扑序列

拓扑排序:

1)从AOV网中选择一个没有前驱的顶点输出它

2)删除该顶点,且删除所有以该顶点为尾的弧

3)迭代

拓扑序列不唯一

软考设计师15-数据结构01相关推荐

  1. 计算机软考设计师中级真题

    计算机软考设计师中级真题分享 软考[以考代评] 软考有着掌握知识.get技能的作用:职称评定.升职加薪:户籍加分,扎根落户的作用 软件设计师----适合做开发的朋友 通过本考试的合格人员能根据软件开发 ...

  2. 初级程序员软考重点6 数据结构与算法

    初级程序员软考重点6:数据结构与算法 一.数据结构和算法 1. 逻辑结构 (1)线性结构 (2)非线性结构 2. 存储结构 3. 顺序表 4. 链表 二.数组和字符串 三.矩阵 1. 特殊矩阵 2. ...

  3. 【软考高项】01考试简介

    信息系统项目管理师,俗称软考高项, 考试目的篇 毫无疑问,考试必然有着自己的目的,或升学,或工作,或落户,亦或被培训机构忽悠....那么,信息系统项目管理师的目的何在,个人认为有以下几点: 1.落户, ...

  4. 中级职称软考设计师笔记之【多媒体基础】

    目录 多媒体基础--多媒体技术基本概念 多媒体基础--多媒体技术基本概念--图像相关概念

  5. 软考高项 : (01)论信息系统项目的人力资源管理

    1[论文]论信息系统项目的人力资源管理 随着信息系统集成项目不断地向智能化.规模化发展,项目团队成员呈现高学历.高专业化分工以及年轻化的趋势.如何管理好项目团队成员,并充分调动他们的积极性,成为当前项 ...

  6. 2022年下半年的软考成绩今天可以查询啦!!!

    自2022年11月5-6日软考考试完成后,经过一个多月的等待,终于在2022年12月15日软考成绩出来啦! 相信很多小伙伴们都怀着激动与愉悦的心情,迫切想查询一下自己的成绩! 下面是弘博创新小编整理的 ...

  7. 【软考】下午题 解题思路总结

    总: 下午题就是阅读理解题,考察的是对题干信息的理解总结能力. 分: 试题一 考察数据流图 1-3题    (写实体名,数据存储,补充缺失的数据流及其起点和终点.)可以一起做. 方法: 在加工的描述文 ...

  8. 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)

    软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...

  9. 软考中级软件设计师复习——数据结构(1)

    还有几天就要回学校了,挺紧张的.今天软考中级程序设计师的报名通过了,没啥说的,得开始紧张的复习了.前期阶段,刷视频,为后期的刷题做好准备.本系列博文主要是视屏截图汇总,每一张ppt.后期会对重点进行标 ...

最新文章

  1. Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK
  2. __CLASS__ get_class() get_called_class()区别
  3. [翻译] - Inside SQL Server 2000's Memory Management Facilities
  4. ARM非对齐操作异常解决过程
  5. 对URLEncode的解码
  6. 什么叫基于web的网站_什么叫响应式网站?响应式网站模板教程
  7. 赠票福利 | 2019,GMIS归来!杨强、吴恩达等全球重磅嘉宾共话数据智能
  8. 并查集(Union-Find-Set)简洁而高效地处理连通分量的查询与合并
  9. 操作系统进程调度算法图解(FCFS、轮转、SPN、SRT、HRRN、反馈)
  10. 目标检测(Object Detection)综述--R-CNN/Fast R-CNN/Faster R-CNN/YOLO/SSD
  11. 一加10 Pro胖达白512GB至尊版发布 售价5799元
  12. 蚁群算法(Ant Colony Optimization,ACO)介绍及MATLAB代码(求解旅行商问题TSP)
  13. gis怎么改鼠标滚轮缩放_鼠标滚轮缩放工具-MAPGIS滚轮助手下载V1.3免费版-西西软件下载...
  14. python 回归方程及回归系数的显著性检验_回归方程及回归系数的显著性检验演示教学...
  15. 2022-2027年(新版)中国数字出版行业发展动态与未来前景趋势报告
  16. 计算机网络课程思政教学目标,计算机学院举行课程思政示范教学活动
  17. 识图在线识图_以图搜图在线搜索软件
  18. 安全工具-curl学习
  19. Lambda与Stream流
  20. 使用alias制作实用 ~/.bashrc

热门文章

  1. 现在很多富人有钱了,就喜欢去付费学习
  2. 有人说苹果手机的CPU非常强大,为什么会这样?苹果cpu又是谁设计的?
  3. Servlet and Tomcat
  4. sql server 性能_SQL Server硬件性能调整
  5. sql 一次性批量插入_考虑使用SQL批量插入的安全性
  6. 2019牛客暑期多校训练营(第七场)-C Governing sand
  7. 【学习】024 springCloud
  8. CSS和HTML的基础知识(一)——HTML常用标签的简介及用法
  9. 利用JAVA计算TFIDF和Cosine相似度-学习版本
  10. MR案例:输出/输入SequenceFile