软考设计师15-数据结构01
日常管理,先上思维导图
线性表
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)
2)广度优先搜索(BFS)
拓扑排序
AOV网:有向无序图。类似前驱图
AOV顶点的顺序称为拓扑序列
拓扑排序:
1)从AOV网中选择一个没有前驱的顶点输出它
2)删除该顶点,且删除所有以该顶点为尾的弧
3)迭代
拓扑序列不唯一
软考设计师15-数据结构01相关推荐
- 计算机软考设计师中级真题
计算机软考设计师中级真题分享 软考[以考代评] 软考有着掌握知识.get技能的作用:职称评定.升职加薪:户籍加分,扎根落户的作用 软件设计师----适合做开发的朋友 通过本考试的合格人员能根据软件开发 ...
- 初级程序员软考重点6 数据结构与算法
初级程序员软考重点6:数据结构与算法 一.数据结构和算法 1. 逻辑结构 (1)线性结构 (2)非线性结构 2. 存储结构 3. 顺序表 4. 链表 二.数组和字符串 三.矩阵 1. 特殊矩阵 2. ...
- 【软考高项】01考试简介
信息系统项目管理师,俗称软考高项, 考试目的篇 毫无疑问,考试必然有着自己的目的,或升学,或工作,或落户,亦或被培训机构忽悠....那么,信息系统项目管理师的目的何在,个人认为有以下几点: 1.落户, ...
- 中级职称软考设计师笔记之【多媒体基础】
目录 多媒体基础--多媒体技术基本概念 多媒体基础--多媒体技术基本概念--图像相关概念
- 软考高项 : (01)论信息系统项目的人力资源管理
1[论文]论信息系统项目的人力资源管理 随着信息系统集成项目不断地向智能化.规模化发展,项目团队成员呈现高学历.高专业化分工以及年轻化的趋势.如何管理好项目团队成员,并充分调动他们的积极性,成为当前项 ...
- 2022年下半年的软考成绩今天可以查询啦!!!
自2022年11月5-6日软考考试完成后,经过一个多月的等待,终于在2022年12月15日软考成绩出来啦! 相信很多小伙伴们都怀着激动与愉悦的心情,迫切想查询一下自己的成绩! 下面是弘博创新小编整理的 ...
- 【软考】下午题 解题思路总结
总: 下午题就是阅读理解题,考察的是对题干信息的理解总结能力. 分: 试题一 考察数据流图 1-3题 (写实体名,数据存储,补充缺失的数据流及其起点和终点.)可以一起做. 方法: 在加工的描述文 ...
- 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)
软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...
- 软考中级软件设计师复习——数据结构(1)
还有几天就要回学校了,挺紧张的.今天软考中级程序设计师的报名通过了,没啥说的,得开始紧张的复习了.前期阶段,刷视频,为后期的刷题做好准备.本系列博文主要是视屏截图汇总,每一张ppt.后期会对重点进行标 ...
最新文章
- Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK
- __CLASS__ get_class() get_called_class()区别
- [翻译] - Inside SQL Server 2000's Memory Management Facilities
- ARM非对齐操作异常解决过程
- 对URLEncode的解码
- 什么叫基于web的网站_什么叫响应式网站?响应式网站模板教程
- 赠票福利 | 2019,GMIS归来!杨强、吴恩达等全球重磅嘉宾共话数据智能
- 并查集(Union-Find-Set)简洁而高效地处理连通分量的查询与合并
- 操作系统进程调度算法图解(FCFS、轮转、SPN、SRT、HRRN、反馈)
- 目标检测(Object Detection)综述--R-CNN/Fast R-CNN/Faster R-CNN/YOLO/SSD
- 一加10 Pro胖达白512GB至尊版发布 售价5799元
- 蚁群算法(Ant Colony Optimization,ACO)介绍及MATLAB代码(求解旅行商问题TSP)
- gis怎么改鼠标滚轮缩放_鼠标滚轮缩放工具-MAPGIS滚轮助手下载V1.3免费版-西西软件下载...
- python 回归方程及回归系数的显著性检验_回归方程及回归系数的显著性检验演示教学...
- 2022-2027年(新版)中国数字出版行业发展动态与未来前景趋势报告
- 计算机网络课程思政教学目标,计算机学院举行课程思政示范教学活动
- 识图在线识图_以图搜图在线搜索软件
- 安全工具-curl学习
- Lambda与Stream流
- 使用alias制作实用 ~/.bashrc