数据结构 ——c++实现(知识点集合)

数据结构实验1 集合的交、并、差 # 数据结构实验1 集合的交、并、差 ## 一、实验内容 (1)实验目的 通过该实验,让学生复习巩固C语言中的循环结构、循环控制条件、分支结构和数组/链表、函数的调用等有关内容,体会到用数组存储集合时,需要记录集合元素的个数,否则输出结果会出现数据越界现象。 (2)实验内容 通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。 (3)实验要求 从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能,每个集合中不允许有重复的元素。集合可.. 阅读详情

数据结构 ——c++实现(知识点集合)

某不知名学狗的复习记录,包含数据结构基本概念,线性表,栈、队列、递归,串、数组、广义表和树和森林内容整理。主要整理了知识点,代码较少。

第一章 绪论

1.1(算法+数据结构) = 程序

这个括号是体现面向对象的观点

1.2 数据结构的基本概念

数据结构的定义
数据,是信息的载体,是描述客观事物的数、字符、图形、图像、声音以及所有能输入计算机中并被计算机程序是别的和处理的符号的集合。

数据在特定的情况下可以是数字,或者是字符,数据对象就是数据的子集。例如一个特定的,解方程组的程序,它处理的是数据对象是整数和实数。无理数,复数也是数据对象,也就是数据的子集,但是在这个问题中,数据对象并不是他们。

数据的基本单位是数据元素,数据元素由若干数据项组成,数据项是最小单位。例如线性表由数组储存,每一个数组元素就可以称作一个数据元素。如果说我这个数组是int型,那么数据项就是一个integer。若是一个结构体数组,那么数据项就有多个。

数据结构不仅要描述数据,还要描述数据元素与数据元素之间的相互关系。 可分为2大类,也可分为4大类。
1. 线性结构,非线性结构
2. 集合,线性,树,图 数据逻辑结构指数据元素之间的逻辑关系。(以上所说的就是面向用户的逻辑结构) 数据结构(数据元素的表示和元素之间的关系)在计算机中的物理储存方式称为存储结构/物理结构。 算法设计基于逻辑结构,算法实现基于物理结构。
数据结构是数据元素的组织形式。

1.3算法性能与复杂度

1.3.1算法的定义 算法:一个用于实现某个特定任务的有穷指令集,这些指令规定里一个运算序列。具有以下特征
1. 输入性
2. 输出型
3. 确定性
4. 有穷性
5. 有效性

1.3.2 算法的性能标准

正确性
可用性
可读性
效率
健壮性

1.3.3算法复杂度

时间复杂度 循环嵌套 相乘 循环并列 相加
空间复杂度 空间复杂度,是算法所需的存储空间的量度。记作S(n) = O(f(n))。这里不是指程序本身所需要的存储空间,而是指解题过程中所需要的辅助空间。
算法效率的度量一般采用事前估计和后期测试两种方法。常采用事前估计。

第三章 线性表

顺序表 顺序表中任意两个逻辑相邻的数据元素在物理存储上也必然相邻。
顺序表的插入与删除的时间复杂度是On,删除也可以是O(1),就是把最后一个元素放到被删除的位置。
双向链表的删除就是把要删的节点的前驱节点的后指针指向要删的节点的后节点。 插入的时候,先把新节点挂上去,然后再进行前后处理。 静态链表
静态链表利用结构体数组作为链表的模拟,用下标作为指针。
head->next指向已经申请的空间头结点,avil指向第一个可利用的空间(没有存东西的节点)的指针。

第四章 栈、队列与递归

栈

允许插入删除的地方叫栈顶,另外一端叫栈底。 top初值=-1。 注意pop和top函数的区别
一个是要pop要后退,一个是单单取元素。 入栈先++top,再入元素,出栈先出元素再–。
可以共享栈。那么栈满条件为两指针相遇。此时,top1= =top2-1。定义No表示栈号,No= =1为栈1,No= =2为栈2。入栈1操作elem[++top1]=e;入栈2elem[–top2]=e;出栈相反。

表达式求值

关于栈的应用,一个是后缀表达式求值,还有一个是中缀转后缀。 后缀表达式不改变数字顺序。

后缀表达式计算:数字入栈,符号不入,每进栈两个元素,将两个元素出栈计算,计算结果入栈。

中缀转后缀:左向右扫面中缀表达式,运算符入栈,数字不入,运算符按优先级运算,高进低出同级出,遇“(”一定入栈,遇“)”全部出栈。

出栈顺序题 字符按照顺序进栈 如果字符串靠后的字符先出栈了,这个字符的之前的字符按照倒序的相对顺序出栈。
出栈序列种类:(2n)!/(n!n!(n+1)) 后缀表达式的代码

队列

书中约定,front指向的是表头元素,rear是指向队尾元素的后一位置。 初始是front == rear =0
入队的时候先入队,再把rear++ 出队的时候先出队,再front++ 假溢出就是rear指针触底,但front指针不顶头。

循环队列

循环队列满条件:(rear+1)%maxsize= =front; 空条件:rear= =front
求循环队列长度:(rear-front+MaxSize)%MaxSize;+maxsize保证是个正数
循环队列运用取余maxsize达到循环的目的。
但是队满和对空的条件会重合,所以采用少一个空间的办法,即当(rear+1)%maxsize = =front时,队满。
也可以采用增加数据成员length表示当前队列长度,或者增加tag,当rear==front时利用tag来区分。
i,front,rear指下一个:(i/front/rear+1)%maxsize 递归

第五章 串、数组、广义表

5.1字符串

串中任意多个连续的字符组成的子序列称为子串。字串首字符位置即子串在串中位置。 String相关函数 int strlen(char*)求长度 char* strcpy(char* str1, charstr2)把s2里的值复制到s1
char
strcat (char* st1, char* str2)字符串连接 char* strcmp(str1, str2)
按asci码进行比较 ,< -1 ,= 0, >1 char* strchr(char *str,char
ch)串中字符定位,若有,则返回第一次出现的位置 substr(str,指定位置int,指定长度int)
从指定位置开始复制字符串,有指定长度 ascii码 大写字母在前,ascii码大,小写字母在后ascii码小

5.1.4模式匹配

模式匹配,就是类似于百度搜关键字。你有一个模式串,去在主串里找模式串的匹配位置。主串叫ob,模式串叫pat,找到了返回主串里的具体序号,没找到返回-1。
有两种算法,一个是Brute-Force算法,一个是KMP算法。

暴力算法
BF算法就是暴力算法。把模式串第一个字符和主串第一个字符对齐,一个个看。一样就结束,不一样就还是拿模式串第一个去怼主串第二个,以此类推暴力找。非常朴素,非常暴力。

KMP算法就是聪明算法,不用每次都倒回去重新开始。想要快速入手KMP请看这个视频,真的很不错:
kmp就是照样那么对着去比,但是在模式串的任何一位出错的时候,会有一个对应的失效函数,告诉你下一步该拿模式串的第几个去和主串的这一位比。打个比方,你的模式串有5位,那就有5个失效函数。设模式串为t,主串为s,在si和tk比较的时候,这俩不匹配了,不要担心,失效函数会告诉你接下来拿t的第几位去和si继续比。循环,直到匹配成功或者模式串比到头了。
所谓的失效函数就是下面说的next[],也就是我这里要说的f[j]。f[j]代表断点j前面的真子串的长度,也是下一个要和si比较的点。
说一下f[j]等于-1和等于0的情况,另外一种情况就是j前有真子串,呢么f[j] = 最大真子串的长度。
若j=0,fj = -1。意思就是第一次比较就崩了,那就和暴力算法一样呗,俩串都移下一位。这里等于-1是方便代码里的移动,也是一个标记,告诉我们下一步是拿s_(i+1)和t_0比较。
若fj =
0,则相当于j前面没有真子串,那么就拿s_i和t_0开始比较。至于为什么能跳这么远,中间难道没有合适的吗,我也不太清楚,这个实在是有点难。

根据f[j]求f[j+1],分两种情况。
当发现正好真子串没有断,比如j的真子串是n位,j+1是n+1,那就f[j+1] = f[j]+1 = n+1
若是发现真子串断了,那就要在前面的下标为0~j的字符里寻找一对新的真子串,使得后缀等于前缀,然后再移动。寻找这个新的真子串的过程可以等效于一个模式匹配:

直到找到一个tm ~ tj = t0~ tj-m。 在这个找的过程中,若是最后一个不等,然后把模式串向右移动的
过程就是在缩小搜查范围。这是算法层面的,做题还是眼睛好使。 复杂度O((m-n+1)*n) KMP
KMP数组从0开始,不能用网上的方法从1开始。 复杂度O(m+n) KMP的具体方法

1. 发现数组第X位不匹配

2. 寻找最长公共部分(小于X-1)
3. 移动 Next(失效函数)怎么算

优化的KMP 优化的next-1  0 -1  0 -1  3  1  0 -1  0 -1  3
不等为本身的kmp值,相等一直向前比比到不能比,值为最后一个比成功的kmp值。

5.2 数组

行优先&列优先的寻址方式 对于a[m][n] 首地址为p 数据类型存储所需要的空间为s
行优先:loc(i,j)=p+(i*n+j)s
列优先:loc(i,j)=p+(i+j
m)s
对于以上的公式,愣记是很容易忘记的。
数组在内存中的存储方式是线性的,顺序的。就是一个个排下来的。这种二维数组在内存里面还是按照顺序表的方式存的。 假设数组a[m-1][n-1](等同于m
n的矩阵,以下类似表达同一意思)行主序就是先储存第0行的n个元素,列主序就是先储存第0列的m个元素。
一般这种题给你个二维数组或者一个三维数组,然后告诉你首地址,让你去求一个特定的地址。思路就是把二维数组看成一张纸,把三维数组看成一本书。
二维数组假设以行主序存储,那么a[0][0n-1]就是一行有n个字,也就是有n列。a[0m-1][0]就是有m行。
三维数组就不是单单的行或列主序了,是规定下标从左到右还是从右到左储存。也就是规定哪个下标是字数,行数,页数。一般变的最快的是字数,然后是行,再是页。
那么看成a[m-1][n-1][k-1]就是1本有着m页的,每页有n行,每行里有k个字的书。

做题就感觉像查字典 理解了稍微画一下大概位置一算就有了,就是注意一些细节上面可能会出问题,比如序号啥的,还有一行到底有几个,一页到底有几行。
对于二维数组或多维数组,分为行优先和列优先两种存储方式。

5.3 稀松矩阵

三元组 稀松矩阵中的非零元素可以用<row,col value>表示,组成一张线性表。

三元组的矩阵转置就是把row col互换,再排序。 实质上就是排原来的col,循环cols遍找就完事,然后存到新的矩阵的第一行。

十字链表

是用数条行链表与列链表来表示一个矩阵。若是该行或该列有非零元素,则存到十字链表的行指针或列指针数组。若是某行或列元素全为0,则存个空指针。
结点有5个数据项:行,列,值,right指针,down指针 十字链表数据项也有5个: 行指针数组,列指针数组,行数,列数,非零元个数。
广义表 广义表,是由n个表元素,组成的有限序列,其中表元素a可以是一个数据元素(称作单元素或原子),或是一个表(子表),记作LS。
第一个元素称为表头,剩下的元素组成的表称为表尾。 表的长度:表中的元素个数 表的深度:有以下三种情况
1.表中元素的最大深度+1
2.空表为1
3.若表中元素是原子元素,则这个元素的深度为0 链式存储:广义表一般用链式存储表示。结点由三个数据域组成:
1. tag0/1/2 0代表专用表头结点,1代表原子结点,2代表字表结点。
2. ref/data/hlink 与上面0-2一一对应,分别为引用次数,关键字,指向子表表头的指针
3. tlink 指向下一个结点的指针。 广义表表示树

广义表表示多项式 var变量 num 值 第一个系数 第二个指数 ptr 指针 不多说,直接例子

第六章 树&二叉树 二叉树

二叉树性质:

1. 二叉树有n个结点,则分支数为n-1
2. 若二叉树高度为h,则二叉树最少有h个结点,最多有2^h -1个结点(满二叉树)*完全二叉树
3. 有n个结点的二叉树高度最大值为n,最小值为log2(n+1)

树的术语:

结点:数据元素+指向子树根的分支称为一个结点。 结点的度:一个结点的的子树数目。 终端结点:也叫叶子结点,最远的,没子树的。 非终端结点:分支结点。 树的度:最大的度称为树的度 树的深度 = 树的高度
度为2的结点个数=度为0个数-1 二叉树的存储方式

顺序存储

  1. 利用数组
  2. 完全二叉树适用
  3. 任意结点在i位置,则左孩子在2i+1;右孩子在2i+2 链表存储
    1.1个结点包含2个指针域+1个数据
    2.若有n个结点与n-1个分支,则有n+1个空指针(共2n个指针) 遍历二叉树 先序遍历(前缀) 1) 先访问根结点 2) 再先序遍历左子树 3) 再先序遍历右子树 中序遍历(中缀) 1) 先中序遍历左子树 2) 再访问根结点 3) 再中序遍历右子树
    后序遍历(后缀) 1) 先后序遍历左子树 2) 再后序遍历右子树 3) 再访问根结点 层序遍历
    每一层从左到右依次遍历,利用队列来进行遍历 1) 初始化队列,并让根结点入队 2)
    当队列非空时,取出队头结点p,转步骤3,如果队列为空,则结束遍历。 3)
    访问p结点,如果他有左孩子,则入队,如果他有右孩子,则入队(先左后右) 4) 重复23,直到队列为空

线索二叉树写出遍历序列有孩子即Tag=0,指针指孩子,Tag=1指遍历序列的前(后)元素线索化后最多两个空指针
先序(后序)加中序可得唯一树,先序加后序不行。先序(后序)确定根,中序确定子树

堆

  1. 数组存储;完全二叉树;
  2. 最大堆:最大的元素在根结点,且每个非终端结点都大于孩子。
  3. 最小堆:最小的元素在根结点,且每个非终端结点都小于孩子。
堆的构造:由非堆序列转成堆序列 排序的核心代码是 while(i>=0) {  filterdown(i); i--; }
filterdown具体就是拿分支结点和子结点进行比较,不符合就交换,但是要交换到底,所以后面的向下沉就是进一步符合标准地往下沉。
堆的插入: filterup 因为堆一定是完全二叉树,所以插入的元素一定是在最后。
那么就是比较该值与其双亲结点,符合就oki,不符合就交换一路向上,那就是j = i i= (j-1)/2。

删除元素: 一般是把数组的最后一个元素补到删除的地方,然后就很大概率变成了一个非堆序列,呢么接着调用filterdown就行。

哈夫曼树

带权路径长度最小的树,称为哈夫曼树。 构造方法,把每个带权结点组成一个集合,然后在集合里合成大西瓜
也就是找俩最小的,合成一个二叉新树,再放回到集合里,循环,直到里面只有一棵树,那就是哈夫曼树。

哈夫曼树的数据成员有4个:叶结点字符信息,叶结点字符编码信息,叶结点个数,储存结点信息。

其中储存结点信息用静态链表实现,结点包含4个数据项:权值,双亲,左孩子,右孩子。-1表示无。

  1. n为叶子节点数目,则哈弗曼树共有2n-1个结点
  2. 哈夫曼树结点个数必为奇数。
  3. 哈夫曼树只有结点为0和2的。
  4. 哈夫曼树根节点值为所有权值求和 哈夫曼编码左分支0,右1

…继续学习!

数据结构(C++版)王红梅 第一章 绪论 逻辑结构可以分为 (1)线性结构 一对一 有且只有一个开始和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继 例如:线性表、栈、队列、串。 (2)非线性结构 一对多 一个结点可能也有多个直接前驱和直接后继 例如:树、图。 数据结构从逻辑上分为四类: (1)集合:数据元素之间就是“属于同一个集合” (2)线性结构:数据元素之间存在着一对一的线性关系 (3)树结构:数据元素之间存在着一对多的层次关系 (4)图结构:数据元素之间存在着多对多的任意关系。... 阅读详情

相关推荐

C++中常用的数据结构

一直以来虽然写的都是C++的代码但是基本上用的都是C的数据结构。这次实现一个相对大型的C++项目,发现了很多很有用的数据结构,通过使用这些数据结构,可以极大程度的提高开发效率。所以计划逐渐整理下C++的数据结构,以及他们的用法,以供自己以及小白参考。暂时不涉及时间性能。 std::string std::vector std::vector<int> vec; std::vector<int> vec(3); // 深度为3的整形数据 std::vector<int>

菜鸟乱学 4695

C++常用数据结构

常用数据结构 目录 1.线性表 定义: 特点: 1.1顺序表 定义: 特点: 实现: 基本操作: c语言版本: c++版本: 1.2链表 定义: 特点: 实现: 基本操作: 完整程序 c++版本...

火柴的初心的博客 1万+

集合——并查集的C++实现及优化

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 并查集的C++实现及优化前言一、什么是并查集(Disjoint-set)三、C++实现一方法一:方法二:五、C++实现二(优化版)总结 前言 提并查集(Disjoint-set) 的代码非常简洁,但是功能却很强大。 关于并查集,这里有一篇文章超有爱的并查集~,讲得非常好,但是只使用了并查集两个主要优化中的"路径压缩"优化,并且我觉得很多情况下采用递归的写法要比采用循环的写法要易懂很多。本文将使用C++实现并查集并使用“按秩合并”和”路径压

yuanmartin的博客 1万+

C++——数据结构

前言 线性表(有序表)分为数组描述的线性表和链式描述的线性表。 数组和矩阵。 栈和队列。 跳表和散列。 二叉树和其他树。 优先级队列。 竞赛树和搜索树。 平衡搜索树。 图。 一、线性表——数组描述 (1)数组类型(通过模板类解决)和数组长度(动态数组解决)。 (2)动态数组,可以使用一个变量(非const值)从键盘上获取数组的长度: int n; printf("请输入数组的长度:"); scanf("%d",&n); int sz[n];//动态数组 (3)没有实现代码的成员函数称为纯虚函数;

摸鱼中...... 6416

C++常用数据结构总结

前言 所有的容器归根到底都是内存空间的排列方式和在空间上施加各种各种不同的限制所得的。空间排列方式只有线性和链式两种方式,链式是通过记录每一个数据的地址来实现查找下一位数据的。而每一个容器所具有的特性就决定了它所适用的情况,总的来看容器常用的无非是增删改查操作,下面将从适用场景、常用操作来进行总结。 array数组 内存空间为连续的一段地址,适用于提前已知所要存储的数据类型和数量、进行大量...

W.J.Z 3万+

【集合】C++ 数据结构 集合 set

集合的主要特点有确定性(一个元素只能属于或不属于一个集合),互异性(即任意两个元素互不相同),和无序性(元素之间是无序的)。 而set数据结构的两大特点是 1. set内部元素自动排序 2. set内部元素唯一,无重复元素

Selena的笔记本 3093

LeetCode知识点

leetcode中C++常用知识点: ①把数字变成字符串to_string(数字); ②不能直接将一个字符,变成字符串。办法只有变为字符数粗,然后直接复制。例:S1 = a;(a是字符数组,S1是字符串) ③不能直接给字符串的某个位置赋值,只能是字符串链接,例如S += to_string(数字); ...

qq_45090349的博客 198

【数据结构C++实现】顺序表实现集合操作:交集、并集与差集

  (递增有序)顺序表表示集合A、B,实现以下操作:    C=A∩B,C=A∪B,C=A∖BC=A \cap B,C=A \cup B,C=A \setminus BC=A∩B,C=A∪B,C=A∖B A=A∩B,A=A∪B,A=A∖BA=A \cap B,A=A \cup B,A=A \setminus BA=A∩B,A=A∪B,A=A∖B C=A∩BC=A \cap BC=A∩B bool SeqList::intersectionSet( SeqList& LA, SeqList

u25th_engineer的博客 4766

c++ 数据结构-集合,映射,树 小总结

本文总结了C++中集合(set)和映射(map)的基本用法及树形结构的相关概念。集合(set)具有元素唯一性和自动排序特性,介绍了插入、删除、查找等常用操作;映射(map)存储键值对,每个键唯一,讲解了键值访问、查找等操作。在树结构部分,阐述了节点、根节点、子节点等基本概念,重点介绍了二叉树的定义、分类(完美/完全二叉树)及其性质,并说明了前序、中序、后序三种遍历方式。全文系统梳理了这些数据结构的核心知识点。

wangluoqi的博客 1207

【C++】使用 yaml-cpp 库操作 YAML

配置文件有利于我们灵活配置工程,解决大量重复劳动,也方便调试。YAML 是一种人类可读的数据序列化格式,它使用缩进和特定的符号来表示数据结构。在本文中,我们将详细介绍如何在 C++ 中使用yaml-cpp库来解析和生成 YAML 格式的数据。

coco的专栏 4971

C++基础数据结构STL

在C++里有写好的标准模板库,我们称为STL库,它实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便地调用标准库来进行各类操作。 动态数组 引用库 有时候想开一个数组,但是却不知道应该开多大长度的数组合适,因为我们需要用到的数组可能会根据情况变动,是个时候就需要我们用到动态数组了。 C++中的动态数组写作 vector,它的实现被写在 vector 的头文...

PzLu's Blog 6881

C/C++利用链表实现集合的交、并、补、差运算

//预编译区:: #include "stdafx.h" #include<iostream> #include<stdio.h> #define OK 1 #define ERROR 0 #define GT 1 #define EQ 0 #define LT -1 using namespace std; //数据...

学IT的星同学 6011

C++集合实现与操作教程

C++提供了一组丰富的集合容器,这些容器能够高效地管理数据的存储和检索。集合容器中的每个元素都必须是唯一的,这使得它们在需要去重和快速查找的场景下特别有用。在C++标准模板库(STL)中,std::set是最常用的集合类型,它基于红黑树实现,确保了元素的有序性和高效的操作性能。std::set是C++标准库中的一个容器,专门用于存储唯一元素,并且可以保证元素自动排序。它的定义如下:class set;T是存储在set中的元素类型。Compare是用于确定元素顺序的二元谓词,默认是。

weixin_31938351的博客 942

集合数据结构的C++实现

本文定义集合Set类为链表LinkedList类的派生类,并定义了集合插入、移除、求并、求交、求差等成员函数,集合数据结构最大的特点是元素不存在重复的情况,不管是插入、合并等等。具体实现的程序代码如下: //set.h #ifndef SET_H #define SET_H #include "linkedlist.h" template class Set: public LinkedList

Alex123980的博客 958

C++集合类功能实现教程

C++标准库中提供了多种集合类,用于存储和管理数据集合。在这些集合类中,std::setstd::map和是基于红黑树实现的有序容器,它们能够快速地在数据集中进行查找、插入和删除操作,同时还维持了元素的有序性。std::set是C++标准模板库中的一个重要容器,其数据结构特点可以概括为以下几点:唯一性:std::set存储的数据元素具有唯一性,即不允许重复的元素。有序性:std::set内部以一种平衡二叉搜索树(通常是红黑树)实现,保证插入的元素总是有序的。

weixin_35751412的博客 1076

C++重点知识点清单

学习c++之后,通过知识点清单可以将这门语言通过清单的形式总结出来,有利于初学者能快速掌握C++必备知识点,为写代码打下良好基础。

[算法与数据结构]——并查集 (c++实现)

并查集是一种树型的数据结构,用于处理不相交集合的合并及查询问题。它可以用来维护无向图的连通性,判断两个元素是否属于同一集合,或者在构建最小生成树的算法中使用。并查集是一个面试、竞赛经常会用遇到的一个数据结构,因为其代码的简短及思路的精巧的特点。现在我们知道了并查集的定义和学习它的作用,而并查集到底是用该干嘛的呢?

2402_86637890的博客 2400

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循“问答”范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的“发人深省”的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。

weixin_43961909的博客 2882

C++语言的集合

在软件开发中,集合(Set)是一种非常重要的数据结构。它不仅用于存储数据,还提供了多种操作,使得数据的管理和操作变得更加方便。C++作为一种功能强大且广泛使用的编程语言,提供了丰富的集合操作和实现,尤其是通过其标准模板库(Standard Template Library, STL)。本文将深入探讨C++中的集合,包括其概念、实现及应用场景。

2501_91366199的博客 1656

FMEA-MSR步骤三:功能分析

目的 FMEA-MSR功能分析的主要目标: ● 功能及各功能之间的关系的可视化 ● 功能树/网络或等效功能矩阵参数图(P图) ● 顾客(外部和内部)功能与相关要求的关联 ● 要求或特性与功能的关联 ● 工程团队(系统、安全和组件)之间的协作 ● 失效分析步骤的基础 (点击链接进入官网领取软件试用) 在监视及系统响应的补充FMEA中,对失效探测和失效响应的监视视为其具有的功能。硬件和软件功能可能包括监视控制状态的功能。 故障/失效的监视和探测功能可能包括超出范围的探测、循环冗余校验、真实性检查和序列计数器检查

Infomass的博客 2389

RV1126开发板性能实测:网络、温度与功耗全解析

本文对RV1126开发板进行了全面的性能实测,重点分析了网络性能、温度表现与功耗特性。测试发现UDP带宽可达500Mbps,但TCP性能受限于协议栈;散热设计对持续性能至关重要,大板子在AI推理和视频推流中表现更稳定。为嵌入式开发者提供了真实的选型参考和优化建议。

d3e4f的博客 261
上一篇: Visual Studio2019—— C++项目 错误解决方案合集
下一篇: PyCharm配置opencv4.5.1
Ang_go
博客等级 码龄6年 88粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ang_go

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值