面试八股复习信息笔记(自用不适合别人)

article/2025/10/3 4:41:44

(图像处理算法版)

频域增强:1.高通滤波器是保留高频成分,即保留图像的边缘信息,可以有利于图像增强。低通滤波器保留低频成分,会导致边缘模糊,尤其是对于人脸这些细节丰富的图像。有时候图像增强会用到很多方法,例如直方图均衡(改变图像的灰度级个数,可以用于像素归一化),叠加高通滤波器进行图像增强。这种高通低通滤波只能解决加性噪声,对于乘性等无法滤除。图像可分为照度分量和反射分量的乘积,人眼对图像亮度响应类似对数运算,照度分量是在整个空间区域缓慢变化,反射分量是在物体间的交界处急剧变化。可以采用同态滤波、retinex滤波。中值滤波适合椒盐噪声。
2.图像分割:
简单图像:基于阈值分割(基于直方图、最小误差阈值、最大方差阈值)、基于边缘分割(点检测、线检测、霍夫变换,感觉像回归方程))、基于区域分割(区域生长法,分裂和并法)
###复杂图像:基于学习
3.黑白图像是二值图像,灰度图像颜色表的RGB相等,是真彩色图像每个像素就是一个RGB值,而伪图像是对映的RGB索引表矩阵图
图像去噪:(1)邻域平均法:将一个模板矩阵与图像做卷积,提高噪声与信号的方差比,但是容易造成图像模糊。(2)超限像素平滑法(3)有选择保边缘平滑法:
对比度增强:灰度变换法(线性变换还可以分段、对数变换、指数变换)和直方图调整法(直方图均衡法),图像空间锐化法(梯度法、拉普拉斯增强算子)
HIS(h色调、i亮度、s饱和度)

(C语言复习)

1、一个字节(byte)等于8个比特位(bit),一个kb是1024个字节。数据类型char short int long longlong folat double
2.当全局变量与局部变量名字相同时,局部变量会优先;名字相同时容易出现bug。
3.”缺少;在类型的前面“错误,C语言规定变量要定义在当前代码块的最前面,不能想到哪就定义放在哪。如果往数组里放字符串“abc”其实末尾有个\0(值是0,例如a的值是97),是字符串结束标志,而‘a’‘b’‘c’放进去,没有结束标志,打印完abc后面就是打印一些随机值乱码。如果用strlen求字符长度,不包括\0的,前一个是3,而后一个是随机值,不知道什么时候停下。
4.转义字符:\t水平制表符.\ddd表示后面是八进制数字,\xdd表示两个16进制数字后置++,是先赋值使用,后再自+;前置++,先加后使用。(–同理)
5.反码是原码的符号位不变,其他位按位取反,补码就是反码加1.
6.static修饰局部变量,静态局部变量的生命周期变长,不再销毁;修饰全局变量,不再能被其他文件使用,作用域被限制了,出了源文件就没法用了,只可在源文件里用;修饰函数作用域也被改变了(普通函数具有外部连接属性的,extern外部连接属性)。生命周期:局部变量的生命周期从进入作用域生命周期开始,出作用域生命周期结束;全局变量的生命周期是整个程序的生命周期。define是定义标识符常量和宏(带参数)
7.&a只有一个是取地址a,&&a就是与,%d打印整型十进制数据,%c打印字符格式数据,%s打印字符串,%p打印地址。指针变量是用来存放地址的,比如p,其类型为int* p。p则是解引用操作符,找到之前存在p里面的东西。如果存入的是一个字符,是char类型,那么指针类型为char。指针大小在32平台是32/8=4个字节,64为8个字节。野指针指没有初始化、越界访问的指针、指针指向的空间释放,没有具体位置的。指针减去指针,其实等于两个指针间元素的个数。
8.struct是结构体变量函数,创建结构体;strcutpb=&b1需要利用指针找到结构体内的内容时,可以用(pb).name或者pb->name,两种均可。数组名本质上是一个地址,不可以直接修改的,比如书名。但是变量是可以直接修改的,比如价格;需要修改数组名可以用strcpy(x,y)函数,就是指string copy,复制过去,需要用头文件string.h。
分支:if、switch;循环:for、while、do while,顺序选择循环(三个结构)
9.else与离得最近的if匹配,并不是看空格对标,除非你有大括号括起来结束上一个if。一个=是赋值,==个是等于,有时候num=4,不报错,放在if语句中,容易出错,但是4=num就可以避免等于号错误。建议for循环表达式用前闭后开的形式。
10.continue的后面不再继续了,可以用于终止循环中某一次循环,本次循环即continue后的语句。break终止所有循环。在for中也是一样的。最好用for不要用while,while容易陷入死循环,因为没有机会调整++。不建议随便省略语句的一些初始化判断等。
11.等号是不能用来比较两个字符串是否相等的应该使用一个库函数strcmp函数,strcmp(password,“123456”).
12.求最大公约数,用辗转相除法,mn求最大公约数。m%n的余数为r,再将n赋值给m,r赋值给n,m%n再求余。求素数,试除法,产生2到i-1个数,j小于i。这个还可以优化,j小于等于sqrt(i)。还可以再优化,偶数不可能是素数,直接从101开始,每次加2.求阶乘和阶乘和用一个for循环,ret定义为阶乘结果,ret=ret
i;或者再采用递归,也n
f(n-1),fn就是递归函数。多加一个for循环,sum=sum+ret,交换可以采用创建临时变量,如果不创建临时变量,可以采用加减法,先把a=a+b,再b=a-b,还可以异或;求数的二进制有多少个1将二进制码与1相与,用一个for循环,用count++来求1的个数。
13.求解正负变化的分数的和,可以先不考虑正负号,利用sum加,但是需要注意改成double类型;然后再利用一个符号数,加一次后变号。打印乘法口诀表,for循环打印9行,i<等于9,再嵌套一个for循环,j小于等于i,打印出iJ,然后换行(打印\n),如果不对齐,可以用%2d,%-2d(左对齐)。
14.goto语句,跳转,尽量少使用,容易打乱代码结构。goto也有使用场景,在多次深层嵌套时,跳转出嵌套循环,直接跳转出来。++a前置加,先加再使用,a++相反。逻辑&&如果左边已经是算出来是0,后面就不要再进行计算了。
15.当进行传值调用,实参传给形参的时候,形参其实是实参的一份临时拷贝,对形参的修改是不会改变实参的;传址调用&a&b可以让函数和函数外边的变量建立真正的联系,将外部创建变量的地址传给函数。判断素数可以用for循环,用j<n时找到一个j%n是否等于0判断是不是素数。**判断闰年:**y%4==0&&y%100不等于0,或者y%400等于0.二分查找设置左下标和右下标,利用size知道右下标,再计算mid后,将mid与k进行比较。mid>k,说明在左边,则right=mid-1,类似的~就这样。
栈(局部变量、函数形参);堆(动态开辟内存、malloc函数开辟)静态区(全局变量,static修饰的变量)stackoverflow程序员知乎网站。
16.递归(程序自己调用自己)。sizeof计算数组所占空间的大小(包括\0),strlen求的是\0前的字符长度。
17,二维数组的列不可以省略。数组传参的时候,实际上传的是数组的首元素的地址。break语句只能用在for和while中,不能用在if中
18.大、小端存储:大端存储,指低位保存在内存的高地址中,而数据的高位保存在内存的低地址中(就是按照正常二进制存储的);低位保存在在内存的低位中,高位保存在高地址中。(%u打印十进制的无符号数字)
19.指针的大小固定4/8个字节,看你的电脑位数,指针解引用的时候权限不一样。字符串赋给指针,其实是把字符串的首字符地址给指针。函数指针,是存放函数地址的一个指针,函数中取地址&add与add是效果一样的,其规范性与数组指针类似。void(
)()这是函数指针类型。在这里插入图片描述
20.函数指针数组,需要一个数组,可以存放4个函数的地址。int *(*p)[10]=&arr(这是一个数组指针) ;int(*padd)(int,int)=add(这是一个函数指针) ;int(*parr[4])(int,int)={add,sub,mul,div}这是一个函数指针数组。int(✳(ppfarr)[4])(int,int)=&pfarr (这是一个数组指针,指针指向的数组有4个元素,指向的数组的每个元素的类型是一个函数指针)。回调函数,当把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,这就是回调函数。void✳ p=&a(可以接受万能型号的指针,但是不能进行解引用操作,也不能进行加减的一些操作)
21.qsort是库函数,排序函数,一种快排序。strcmp函数是字符串比较函数。第一个参数:待排序数组的首元素地址;第二个:元素个数;第三个:每个元素的大小-单位是字节;第四个:函数指针,比较两个元素的所用函数的地址,这个函数使用者自己实现。
22.数组名是首元素地址,两个例外:sizeof(数组名)-数组名表示整个数组;&数组名也是表示整个数组。sizeof在数组中计算数组大小,单位是字节。
22.strcmp字符比较大小,不加n的是长度不受限制的函数,只受\0的限制,如果是strncmp是长度受限制的函数,长度不受限制的容易溢出。memcpy是什么都能拷贝,strcpy只能拷贝字符串,memset。memmove可以处理重叠内存的拷贝。**拷贝次序:**前向后:dest<src,后向前:dest>src&&dest<src+count;dest>src+count,前后都可以。memset内存设置,设置哪一个缓冲区,改的字节
在这里插入图片描述
strlen求字符长度,数组地址加一就是跳过整个数组。
在这里插入图片描述
p[0]=
(p+0)=a
22写函数逆序一个字符串打印(可以第一个与最后一个字符串交换,while循环一下)
23.结构体中stu后面是我们定义的变量名。逆序字符串,两种方法:1,暴力求解法,逆序;2,三步翻转法。。strcat或者strncat字符串拼接。
24.杨氏矩阵:先找右上角的元素,可以去掉一行或者一列。strerror打印回错误信息。
25.内置类型:C语言自己的数据类型,int,float等,自定义类型:结构体、枚举、联合。
26.枚举的好处:
在这里插入图片描述
27.联合体的大小至少是最大成员的大小,当最大成员大小如果不是最大对齐数的整数倍时,就要对齐到整数倍。位段不存在对齐,枚举也不存在。
28.内核空间(用户代码不能读写,只能操作系统操作)栈区效率高(局部变量、函数的形参),堆区(动态内存分配,比如程序员)静态区(全局变量,静态变量,statint)。动态内存分配函数:malloc(动态内存开辟)free是成对使用的,虽然free释放的指针P是释放了,但是P还是在那,别人通过找到P还是可以找到之前值,所以需要一个p=NULL。calloc与malloc的区别在于calloc会在返回地址之前把申请的空间的每个字节初始化全为0,realloc可以调整动态开辟内存空间的大小。
29.**柔性数组:**数组大小可变。柔性数组成员前必须要有一个成员,这种结构大小不包括柔性数组的内存。优点:方便内存释放(只有一个malloc);有利于访问速度,减少内存碎片。酷壳
30.文件操作打开文件:fopen函数。fclose关闭。
在这里插入图片描述
源文件test.c到test.ex(之间的过程叫翻译环境,包含编译(生成目标文件,又包括预编译, 编译,汇编)加链接),运行后叫运行环境,

(数据结构)

**
1栈:是压栈操作,插入一个元素;出栈是删除一个元素,先进去的后出。队列,先进先出。栈和队列是线性表的子集。栈的案例:进制转换,括号匹配检验,表达式的值。队列的案例:舞伴问题·构造两个队列,将队头元素出队配成舞伴,直到一个队列为空。base==top代表空栈。
2研究数据间的关系,逻辑结构、存储结构、及其操作。逻辑关系(线性(线性表、栈、队)和非线性(树、图));存储结构(顺序、链式、索引存储);运算(检索、排序、插入,删除)。二叉树是n个节点的有限集合,二叉树第i层上的节点最多为2^i-1个。满二叉树:深度为k时有2k(幂)-1个节点的二叉树。完全二叉树:只有最下面两层有度数小于2的节点,且最下面一层的叶节点集中在最左边的若干位置上。具有n和节点的完全二叉树的深度为log2n +1。
3.线性表:a1只有一个直接后继,an只有一个直接前驱,其他元素有且只有一个直接前驱和直接后继。
4.后序最后一个字母为根,中序根位置的左为左子树,右为右子树。前序第一个是根。
5,N(节点个数)=n0+n1+n2+n3
N=0no+1n1+2n2+3n3,n代表结点个数。
6.快排就是拿第一个往后对比,大于放后面,小于放左边,再如此子表递归。
7.顺序表插入:向中间插入元素,就得把后面的都往后移。删除:删除中间的删除后要再把后面的往前移。
8.链表:n个结点由指针链组成一个链表。是按照顺序存取的。销毁单链表:从头指针开始,依次释放所有节点。malloc和free。清空单链表:相比销毁,还保存着头指针和头结点,依次释放所有结点,并将头结点指针域设置为空,在释放之前,再拿一个变量指向下一个结点,防止找不到下一个结点,循环直到p为空。首元结点的地址,在头结点的next存着(L->next)。
9.单链表的取值:在顺序链表中取值就是找到它的i-1的前一个。按值查找。O(n),删除O(1).
在这里插入图片描述
10.建立单链表:头插法,新的结点放在链表前面。做法与插入一个结点很相似,把在原来的头结点后面都接在新结点后面。O(n)。

p->next=L->next; L->next=p;(头插法)--------p->data=a;p->next=Null;r->next=p;(尾插法)

尾插法:将新结点逐个插入到链表的尾部,尾指针r指向链表的尾指针。O(n)。
11.循环链表:尾结点指向头结点。优点:从任一结点出发都可以找到表里面的其他点。空表的头结点指向自身,不是为空(单链表为空)。因为没有空,所以判断循环条件(p!=L,不为头指针)O(n)。合并循环链表:两个Ta和Tb,先保存Ta的表头,将Ta的表尾连接到Tb表头,再释放Tb表头结点后,将Tb的表尾给Ta的表头。
12、如果是存取元素,元素事先知道长度,那用顺序链表比较好;如果是删除插入什么的,要用链式存储。
13.怎么把递归变成非递归:1,变成循环2.
14.解决顺序队列的假上溢的方法:变成循环队列,利用模运算,插入元素时将尾指针加1后模最大的空间,删除最大元素就是将头指针加1模最大的空间,因为满了以后求模就余0了,回到0.或者少用一个元素空间:(rear+1)%MAXSIZE==front
15,求循环队列的长度(rear-front+MAXSIZE)%maxsize。
16.串相等:长度相同且各对应的字符相等才是。BF算法(暴力简单匹配算法):从主串i中的每一个字符进行匹配,如果匹配失败,i回溯,j又回到1,其时间复杂度O(nm)。KMP算法,计算next[j],就是计算前面正数和倒数是不是相等,时间复杂度O(n+m)。
17.矩阵的压缩存储:对称矩阵、上下三角矩阵、对角矩阵(对角线上有元素,其他部位有些不为零)、稀疏矩阵(用三元组顺序表来存储数组元素,行数,列数,数值)
18.广义表的表头可以是原子也可以是子表,表尾是除表头之外的其他元素组成的表。广义表的深度就是看括号的重数,长度是
最外层所包含元素的个数,可以看逗号的数,除了逗号后没有数。原子的深度是0.
19.树和线性结构的区别;线性结构无前驱,树结构只有一个根节点;线性结构无后继,树结构最后叫叶子结点(可以有多个)。二叉树并不是树的特殊情况的子集,二叉树只有一个子树时,需要区分左子树还是右子树,而树是不区分的。性质1:在二叉树上第i层上至多有2
(i-1)次方个结点,最少有一个结点。性质2:深度为k的二叉树至多有(2k方-1)个结点,最少有k个结点;性质3:叶子数为n0,度为2的结点数为n2,则n0=n2+1。总边数=n22+n11.深度为k的具有n个结点的二叉树,当其每一个结点都与其满二叉树中的编号一一对应时 ,需要连续,称之为完全二叉树。具有n个结点的完全二叉树的深度为(logn+1).
20.二叉树的顺序存储法:就是按照满二叉树的编号顺序来存储,没有就补0;缺点:如果是单支树的话就很浪费空间。所以有二叉树的链式存储结构:在n个结点的二叉链表中,有n+1个空指针域。三叉链表:多一个可以指向前驱(即双亲)。
21.遍历:先序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)。遍历的复杂度O(n)。二叉树的层次遍历算法设计思路:先将根节点进队,队不空时循环:从队列中出列一个结点*P,访问它,若有左孩子结点,则将左孩子结点进队;同理若有右孩子~、
22.建立二叉树。线索二叉树:如果左孩子是空,那就把左孩子的指针域指向前驱结点;右孩子为空,那就是右孩子的指针域指向后继。
森林变二叉树:树变二叉(留长子,其余抹去连线)根相连
23.哈夫曼树最优树:带权路径长度(WPL)最短的树;最优二叉树:带权路径长度(WPL)最短的二叉树(哈夫曼树)。哈夫曼树中权越大的叶子离根越近,满二叉树不一定是哈夫曼树。哈夫曼树的结点度数为0或者2,没有1,,具有相同带权结点的哈夫曼树不唯一。构造哈夫曼树构造森林全是根,然后利用贪心算法,先选择权值最小的先构造(选用两小造新树),删除两小添新人,循环此2和3的步骤。直到只剩下一个单根。
哈夫曼编码:按照哈夫曼树,左子树为0,右子树是1,这样编码。为什么哈夫曼编码可以保证是前缀编码,因为没有一片树叶是另一片树叶的祖先,所以每个叶子结的编码不可能是其他叶子节点的前缀,没有重复。为什么哈夫曼编码可以保证字符编码总长最短因为哈夫曼树的带权路径长度最短。故字符编码的总长最短。
24.最小生成树:给定一个无向网络,在该网的所有生成树中,使得各边权值之和最小的那棵树生成树称之为该网的最小生成树。MST算法
prim算法(从根开始,就是找其他顶点权重最小的来一步一步加入),kruskal算法(对所有顶点之间权重找最小值,不能形成环),有时构造的最小生成树可能不是唯一的。最短路径和最小生成树不同,路径上不一定包含n个顶点,也不一定包含n-1条边。单源最短路径:dijkstra算法,所有顶点间的最短路径-floyd算法。
25.有向无环图:AOV,不允许有回路,拓扑排序。看是否存在环,对有向构造其顶点的拓扑有序序列,若网中所有顶点都在它的拓扑中。例如大学排课。
26.查找算法:
**表查找:**平均查找长度(ASL),线性表查找,顺序查找、折半查找(只适用于有序表,但是效率高,只用于顺序存储结构,对线性链表不适合)、分块查找(块内没顺序,块外有序,顺序查找和二分查找可以混合用)
树查找:二叉排序树,左子树的所有点小于跟节点,右子树的所有点大于跟节点。中序遍历二叉排序树:平衡二叉树的查找效率最高。
删除:如果是叶子节点,可以直接删除;如果是只有左子树或者右子树,直接拿孩子去替换它就可以;如果是有左子树和右子树,直接它的中序前驱左子树左边的最大的节点来代替,或者中序前驱右子树的最小的节点代替。
AVL(平衡二叉树):平衡因子=左子树的高度-右子树的高度,其中所有结点的平衡因子只能是-1,0,1.失衡树调整:谁在中间大小就把谁放在根。
散列表查找散列函数就是哈希函数,优点是时间效率快,空间效率低。散列函数构造:除留余数法(设置表长,除以一个质数,取余),直接定址法(以关键字和某个线性函数值为散列地址)。如果哈希函数算出来的值有冲突,利用开放地址法(放旁边的空地方)和链地址法
稳定排序:能够使任何数值相等的元素,排序以后相对次序不表的。
27
排序
直接插入排序:采样顺序查找法寻找插入位置,每次都是前面有序的;用二分法定位插入排序就是二分插入排序;用缩小增量多遍插入排序,就叫希尔排序,将序列变成多个子序列,先选择增量序列,对每个增量进行插入排序,增量序列需要互为质数。希尔排序是不稳定的,可以造一个有相同元素的序列,换了之后相对位置变了。平均效率n的四分之五次方
冒泡排序:即使不停的两两交换,把最大的往后放(n平方,是稳定的)。快排:任取一个元素为中心点,比它大的放后,小的放前,分成两个子表,再对子表按照这样递归找中心点(nlogn)。找中心点:一个low和一个high。找一个空的基准点,放最大的,移动low和high,直到重合,中的那个就是中心点。
**堆排序:**堆的实质其实就是完全二叉树,小根堆就是说左右孩子都比它大,反之则大根堆是左右孩子都小。堆排序就是输出堆顶元素,然后将剩下的再进行调整为堆,再输出堆顶元素,重复。以小根堆为例:以堆中最后一个元素(看二叉树编号)替代,然后将其根节点值与左右子树比较,并与其中小者交换,重复直到叶子结点得到新的堆。建立小根堆:将全部的树按照二叉树排列,此时是无序的,从最后一个非叶子结点向前调整,从n/2个元素开始,将该元素为根进行二叉树调整。**归并排序:**将两个子序列归并成一组有序的,有点像倒着的树。**基数排序:**先让个位有序,再让十位有序,最后再让百位排序,类似这种按照关键字排序,适合多关键字排序。文件资源排序,数据处理关键字排序,购物网站好评排序等,二分查找,最短路径。

(ISPpipeline)

**一些杂碎知识:**像素是一个具有RGB空间的组合体,而sensor上的像点只能表达一种颜色,即beyer模式,一般是通过bayer模式去计算周围的像素,可以还原。bayer格式又成为RAW格式。从bayer还原成RGB格式其实有很多算法。最简单一种就是看像素的周围九个像素点,进行像素插值法。具体可自己查阅资料。还有一种RYYB的模式,就是基于CMY三基色,Cyan是青色(RED的补色),同理,Magenta(green补色),Yellow是(Blue的补色)。
**成像:**感光像素点每个像素内置一个电荷/电压放大器,将电荷数量转换成电压信号,读逻辑的行列信号(列后接放大器),被放大的电压信号经过ADC转换后变成数字信号,再经过ISP处理,最后通过一定的接口协议输出到外部。
**曝光:**曝光则是指两个信号间的间隔,即read信号和reset信号,reset信号即表示停止曝光,read即自由曝光状态,只有在遇到reset的时候会停止。卷帘曝光是指read信号与reset信号之间的时间间隔是每个像素能够积累光信号的时间。全局快门是所有像素是同时曝光,卷帘曝光是一行一行曝光。曝光时间(在行业内经常用积分时间),如果拍摄运动物体 ,需要使用曝光时间较短,不然会运动模糊。同时为了防止工频闪烁,曝光时间应设置为光源能量周期的整数倍,中国的光源能量周期为10ms。
**噪声:**1.暗散粒噪声,温度和电子的热运动导致的,一般CMOS没有光子输入可能也有输出,这个一般服从泊松分布,传感器温度越高,暗电流多一倍。2.读出噪声,即量化噪声,由传感器的设计决定。3.光子散粒噪声,即光子在传感器上的统计噪声,时少时多,与被测信号的高低水平有关,与传感器温度无关。4.固定模式噪声(FPN),该噪声是由像素下的放大器或者晶体管的工作参数相对理论值的漂移构成的固定模式噪声。坏像素、瑕疵像素也是一种固定模式噪声。5.粉红噪声,又称闪烁噪声,白噪声频谱分布均匀,粉红噪声主要在低频。
HIS(h色调、i亮度、s饱和度)
DPC(坏点检测)
BLC(暗电流):没有光照条件下也有电流。将有效像素区减去OB区域的增量。固定值、ISO联动、曲线拟合。
NR(降噪)
LSC(镜头衰减矫正)
AWB(白平衡)
demosiac(去马赛克)
CCM(色彩矫正)
Gamma(亮度矫正)
3A(AE自动曝光、AWB自动白平衡、AF自动对焦)
AE(自动曝光)可通过对照片采取任一像素,根据色彩空间转换公式求得其灰度值,Gray=0.299R+0.587G+0.174B,将所有灰度值求出,求出其直方图,就可以看到亮度分布情况,过曝分布偏右,欠曝的分布偏左。
IQ(image quality)图像质量
浅层次图像质量问题:坏点、畸变、条纹、局部不清晰。
高层次的图像质量问题:通透性、锐度、色彩饱和度、色彩还原度。

(通信补)

1.波特绿:bps,每秒传送的bit的数量
2.数据线上空闲状态一般是高电平,需要一个起始信号低电平后,才开始有发送数据位。先发地位再发高位。停止位是高电平。
3.UART接口。一般只有两个接口用,TXD和RXD,

(python补)

1.dic的特点:(1)查找和插入的速度快,不会随着key的增加而变慢。(2)需要占用大量的内存,内存浪费多。准确说是用空间换取时间。dic的key是不可变的对象。
2.python的基本数据类型,整型(数字)、字符串、元组、列表、字典和布尔类型。列表用方括号[]表示,元组用圆括号(),字典用{},大括号key和值之间是用冒号。text = oepn(filePath, 操作方式(r;w;a),编码方式)


http://chatgpt.dhexx.cn/article/07VAl8RN.shtml

相关文章

一篇学完:王道考研408数据结构(全)

笔记首发于&#xff1a;lengyueling.cn PDF版本附在 lengyueling.cn 对应文章结尾&#xff0c;欢迎下载访问交流 绪论 数据结构在学什么 如何用程序代码把现实世界的问题信息化 如何用计算机高效地处理这些信息从而创造价值 数据结构的基本概念 什么是数据&#xff1a; …

王道2023数据结构笔记

本文是在学习2023年王道最新课程时所做的学习笔记&#xff0c;仅供参考&#xff0c;需要书籍或者视频的可以私信&#xff0c;剩下三门课的笔记私信博主获得 文章目录 数据结构笔记第一章 绪论1.1 基本概念1.2 数据结构三要素1.3 算法的概念1.4 算法效率的度量 第二章 线性表2.1…

计算机组成原理王道笔记

文章目录 前言零、名词汇总第一章&#xff1a;计算机系统概述第二章&#xff1a;数据的表示与运算第七章&#xff1a;输入/输出系统 一、计算机系统概述1.2计算机系统层次结构1.2.1计算机系统的组成1.2.2计算机硬件1.2.3计算机软件1.2.4计算机系统的层次结构1.2.5计算机系统的工…

【王道考研】王道数据结构与算法详细笔记(全)

目录 第一章 数据结构绪论 1.1 数据结构的基本概念 1.2 数据结构的三要素 1.2.1. 数据的逻辑结构 1.2.2. 数据的存储结构&#xff08;物理结构&#xff09; 1.2.3. 数据的运算 1.2.4. 数据类型和抽线数据类型 1.3 算法的基本概念 1.4 算法的时间复杂度 1.5 算法的空…

不同时间尺度上的静息态脑动力学捕获人类行为习惯的不同方面

将人类行为与静息态脑功能联系起来是系统神经科学的核心问题。特别是捕获不同类型行为要素的功能时间尺度在很大程度上仍未被探索。科学家们已研究过几分钟的分辨率下的静态功能连接(Functional Connectivity&#xff0c;FC)的行为相关性&#xff0c;但在几秒钟的分辨率下&…

Fabric链码入门案例(go语言版本)

在Fabric中&#xff0c;新的链码类要重新实现Init()和Invoke()这2个方法。这里以fabone.go为例&#xff0c;Fabric版本为 v1.4.0&#xff0c;进行说明。 Fabric GitHub官网 Fabric v1.4.0源码下载 1、定义一个空类 type HelloChainCode struct {}2、重写Init()方法 实现链码…

fabric链码安装失败

chaincode install failed with status: 500 - error in simulation: failed to execute transaction 233fe94f75fc7a6614e08de88b9d262de4f65a73b8f66f7de48b4b698e48e6b6: error sending: timeout expired while executing transaction 链码安装失败&#xff0c;状态&#x…

Fabric 2.2.0 链码交互

根据fabric 官方文档记录https://hyperledger-fabric.readthedocs.io/en/release-2.2/write_first_app.html https://hyperledger-fabric.readthedocs.io/en/release-2.2/test_network.html 1.在test-network目录进行操作 将二进制文件(fabric-samples/bin/目录下)添加到CLI路…

freeman链码

参考链接&#xff1a;https://baike.baidu.com/item/%E9%93%BE%E7%A0%81/4272744?fraladdin 链码&#xff08;又称为freeman码&#xff09;是用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法&#xff0c;常被用来在图像处理、计算机图形学、模式识别等领域中表示曲…

使用go语言开发部署链码

使用go语言开发部署链码 需要提前部署好测试网络&#xff0c;以下安装操作是基于测试网络的安装&#xff0c;fabric版本为2.4.1 注ps&#xff1a;链码在go版本1.13环境下会出问题&#xff0c;本文是在1.18环境下执行的&#xff0c;可以自行升级版本 第一步编写go链码 packag…

【fabric】部署链码

链码开发好后 参考文章&#xff1a;https://blog.csdn.net/taifei/article/details/85234632 1:启动网络后&#xff0c;查看容器 docker ps -a 部署链码是在cli容器里面。第一步我们可以先查看一下cli有没有成功启动&#xff0c;他的ID是什么。后续可以通过ID或者名字进入容器…

fabric2.0 概念,链码和私有数据

1.智能合约和链码 管理员将相关智能合约组织起来用于部署–链码。 智能合约中存储各方交易的业务模型&#xff0c;定义了术语、处理流程等。利用区块链可以将智能合约转换为可执行程序。应用通过调用智能合约来产生交易与在账本进行记录。使用智能合约可以实现自动化&#xf…

matlab计算图片链码,MATLAB--数字图像处理 计算图像链码及其相似多边形

题目 计算下面图像 边界阶数为20的形状数及其相应的近似多边形 在这里插入图片描述 概念 形状数&#xff1a;链码的最小一阶差分码 简单说来求形状数就是&#xff1a;先求出图像的链码 &#xff0c;再求其一阶差分码&#xff0c;最后找一阶差分码的最小值 在这里插入图片描述 在…

链码的打包与升级

目录 1、链码的打包与签名 ​编辑 对链码的签名 1、安装已经添加签名的链码 2、安装成功之后进行链码的实例化操作&#xff0c;同时指定其背书策略 测试 1、查询链码 2、调用链码 3、查询链码 链码的升级 1、安装链码 2、升级链码 3、测试 1、查询 2、调用 3、…

fabric链码的编写-入门

链码的编写 前言:fabric链码的编写较简单&#xff0c;在熟悉了基本结构和相关API之后就可上手编写&#xff0c;但是要多多练习&#xff0c;提高编写链码的速度和正确度。 学习步骤&#xff1a; 1.熟悉链码的基本结构 2.熟练链码相关API 3.练习&#xff0c;练习&#xff0c…

Hyperledger Fabric 链码

懂哪写哪&#xff0c;随时补充 链码结构 链码API 链码在开发过程中需要实现链码接口&#xff0c;交易的类型决定了哪个接口函数将会被调用&#xff0c;链码的接口定义如下&#xff1a; type Chaincode interface {Init(stub ChaincodeStubInterface) pb.ResponseInvoke(stu…

fabric2.3链码对比1.4链码小记

最近实验室的项目要部署到fabric2.0以上版本&#xff0c;之前写的都是1.4的链码&#xff0c;现在看2.0版本的链码还是有些不一样的&#xff0c;主要是链码api改了&#xff1a; 前提&#xff1a;如果想在fabric2.0以上环境中还是想用shim和peerAPI的话&#xff1a;也就是&#…

Hyperledger Fabric 链码生命周期

目录 一、什么是链码 二、部署链码 2.1 安装和定义链码 2.1.1 打包智能合约 2.1.2 peer节点安装链码 2.1.3 组织批准链码 2.1.4 将链码提交到通道 2.2 升级链码 总结 一、什么是链码 ChainCode&#xff08;链码&#xff09;是一个程序&#xff0c;用Go、Node.js或Java编…

matlab freeman链码,对Freeman链码分析的角点检测算法

图像中的角点是图像的重要特征, 具有旋转不变性, 决定了图像形状, 可以降低图像信息的存储效率, 在目标跟踪, 目标检测, 图像匹配, 图像轮廓拟合等领域都有重要的应用价值. 近几十年来, 国内外学者提出的图像角点检测算法[, 各有各的优缺点, 大致可分为三大类: 基于灰度强度的角…

Fabric链码升级

一、修改链码&#xff0c;上传 二、打包链码 1、设置组织1环境变量 export PATH${PWD}/../bin:$PATH export FABRIC_CFG_PATH$PWD/../config/ # Environment variables for Org1 export CORE_PEER_TLS_ENABLEDtrue export CORE_PEER_LOCALMSPID"Org1MSP" export C…