软考中级之数据库系统工程师笔记总结(二)数据结构与算法

简介: 软考中级之数据库系统工程师笔记总结(二)数据结构与算法

二、数据结构与算法

2.1数据结构

数据结构指数据元素的组织形式。

2.2线性表的顺序存储结构

特点是物理位置上的邻接关系来表示结点的逻辑关系,具有可以随机存取表中的任一结点的,但插入删除不方便

2.3线性表的链式存储结构

用一组任意的存储单元来存放线性表的数据元素,链表中的结点的逻辑次序和物理次序不一定相同。

2.4线性表的插入和删除

2.5栈的顺序存储

采用两个顺序栈共享一个数据空间:(先进后出

### 2.6队列

只允许在表的一端插入元素(队尾),另一端删除元素(队头)。(先进先出

2.7子串

子串包含在它的主串中的位置是子串的第一个字符首次出现的位置。

2.8广义表

广义表是线性表的推广,是由零个或多个单元素或子表所组成的有限序列。广义表与线性表的区别在于:线性表的元素都是结构上不可分的单元素,而广义表的元素既可以是单元崇,也可以是有结构的表。

2.9二叉树的性质

二叉树第i层上的结点数目最多为2i-1(i≥1)。

深度为K的二叉树至多有2k-1个结点(k≥1)。

在任意一颗二叉树中,若终端结点的个数为n0,度为2的节点数为n2,则n0=n2+1。

具有n个结点的完全二叉树的深度为

2.10树与二叉树的转换

左孩子不变,其兄弟结点变为左孩子的右孩子;或是将树置保留左孩子结点,其它全删去,然后将各层的兄弟结点连起来。如:

2.11相同遍历

树的前序遍历与二叉树的先序遍历一样;树的后序与二叉树的中序遍历一样。

2.12散列

散列就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值,如此建立的表为散列表,散列表是可以动态创建的。

2.13二分查找

二分查找(折半查找):要求关键字必须采用顺序存储结构,并且必须按关键字的大小有序排序。

2.14查找二叉树

查找二叉树(二叉排序树)——动态查找表:或者为空树或者满足:

查找树的左右子树各是一颗查找树。

若查找树的左子树非空,则其左子树上各节点的值均小于根结点的值。

若查找树的右子树非空,则其右子树上各节点的值均大于根结点的值。

平衡二叉树:或者是空树,或者是满足:树中任一节点左右子树的深度相差不超过1。结点的平衡度:其右子树的深度减去左子树的深度(因此平衡度只能为1,0,-1)。

2.15有向图中所有顶点的出度数之和

有向图中所有顶点的出度数之和等于入度数之和。

2.16图中边数

在图中,边数等于所有顶点的度数之和的一半。

2.17顶点和边数

2.18长度

C语言中,struct中各成员都占有自己的内存空间,总长度为所有成员的长度之和,而union中的长度等于最长的成员的长度。

目录
相关文章
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库索引的数据结构?
MySQL中默认使用B+tree索引,它是一种多路平衡搜索树,具有树高较低、检索速度快的特点。所有数据存储在叶子节点,非叶子节点仅作索引,且叶子节点形成双向链表,便于区间查询。
198 4
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
存储 机器学习/深度学习 人工智能
软考中级软件设计师专项-数据结构与算法上篇
软件设计师考试数据结构模块涵盖数组、链表、栈、队列、树、图等基础结构及其操作,重点考查二分查找、快排与归并排序、树/图的DFS/BFS遍历算法,要求掌握时间与空间复杂度分析,理解哈希、堆的应用场景,强调通过合理选择数据结构优化程序性能,解决存储管理与计算效率问题,为系统设计奠定核心逻辑基础。
519 1
软考中级软件设计师专项-数据结构与算法上篇
|
3月前
|
SQL 存储 JavaScript
软考中级软件设计师专项-数据库篇
本资料涵盖数据库核心概念,包括结构数据模型(层次、网状、关系模型)、三级模式结构(概念模式、外模式、内模式)、关系模型术语与完整性约束(实体、参照完整性)、笛卡尔积及关系代数操作(投影、选择、连接)、SQL语言基础与查询优化、关系模式规范化(范式1NF、2NF、3NF、BCNF)、E-R图设计与数据库设计流程、事务管理(ACID特性)、并发控制与分布式数据库等内容,适合数据库学习与考试复习。
259 1
软考中级软件设计师专项-数据库篇
|
3月前
|
存储 算法 搜索推荐
软考算法破壁战:从二分查找到堆排序,九大排序核心速通指南
专攻软考高频算法,深度解析二分查找、堆排序、快速排序核心技巧,对比九大排序算法,配套动画与真题,7天掌握45%分值模块。
194 1
软考算法破壁战:从二分查找到堆排序,九大排序核心速通指南
|
8月前
|
SQL 人工智能 数据可视化
16.1k star! 只需要DDL就能一键生成数据库关系图!开源神器ChartDB让你的数据结构"看得见"
ChartDB是一款开源的数据库可视化神器,通过一句智能查询就能自动生成专业的数据库关系图。无需安装客户端、不用暴露数据库密码,打开网页就能完成从数据建模到迁移的全流程操作,堪称开发者的"数据库透视镜"。
1765 67
|
SQL NoSQL 数据库
Cassandra数据库与Cql实战笔记
Cassandra数据库与Cql实战笔记
217 1
Cassandra数据库与Cql实战笔记
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
前端开发 应用服务中间件 API
|
存储 SQL 数据库
数据库与数据结构设计
数据库与数据结构设计【8月更文挑战第22天】
264 0

热门文章

最新文章