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

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

二、数据结构与算法

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月前
|
机器学习/深度学习 人工智能 算法
「AI工程师」算法研发与优化-工作指导
**工作指导书摘要:** 设计与优化算法,提升性能效率;负责模型训练及测试,确保准确稳定;跟踪业界最新技术并应用;提供内部技术支持,解决使用问题。要求扎实的数学和机器学习基础,熟悉深度学习框架,具备良好编程及数据分析能力,注重团队协作。遵循代码、文档和测试规范,持续学习创新,优化算法以支持业务发展。
264 0
「AI工程师」算法研发与优化-工作指导
|
2月前
|
SQL NoSQL 数据库
Cassandra数据库与Cql实战笔记
Cassandra数据库与Cql实战笔记
32 1
Cassandra数据库与Cql实战笔记
|
3月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
3月前
|
前端开发 应用服务中间件 API
|
4月前
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
80 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
|
4月前
|
存储 SQL 数据库
数据库与数据结构设计
数据库与数据结构设计【8月更文挑战第22天】
38 0
|
5月前
数据库系统工程师考点笔记
数据库系统工程师考点笔记
469 0
|
5月前
|
编解码 算法 vr&ar
软考中级之数据库系统工程师笔记总结(六)多媒体基础
软考中级之数据库系统工程师笔记总结(六)多媒体基础
34 0
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
81 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
下一篇
DataWorks