数据结构杂烩
文章平均质量分 82
基本数据结构原理与相关实现
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Zhang_P_Y
关注机器学习、计算机视觉、嵌入式(MCU、DSP、ARM)和桌面开发等领域
展开
-
【计算机视觉】 滤波器
【计算机视觉】 滤波器卷积,信号系统中的连续与离散卷积,还有图像处理中的卷积核,卷积神经网络等概念。对于图像处理中来讲,卷积就是卷积核来对图像进行空域滤波。有以下主要内容:输出图像的每一个像素都是卷积核扫描过输入图像得到的加权平均; 权重保持一致; 窗口在像素正中。详细内容:https://pengyizhang.github.io/2020/03/16/filters/...原创 2020-03-16 17:34:00 · 619 阅读 · 0 评论 -
【计算机视觉】Canny算子边缘检测
[计算机视觉] Canny算子边缘检测##1. Canny边缘检测基本原理(1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。(3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。##2. Canny边缘检测算法:step1:用高斯滤波器平滑图象;...原创 2020-03-16 17:31:35 · 714 阅读 · 0 评论 -
现代数学概略(度量-拓扑-线性-赋范线性-巴纳赫-内积-希尔伯特
现代数学概略1(度量-拓扑-线性-赋范线性-巴纳赫-内积-希尔伯特)Sigma代数与拓扑空间布尔巴基学派的结构论:序结构、代数结构和拓扑结构代数结构拓扑结构几个空间:向量空间、赋范线性空间、巴拿赫空间、内积空间、希尔伯特空间, 度量空间,拓扑空间勒贝格测度与积分实数的完备性算子理论:线性泛函关于连续、极限、邻域、收敛、逐点收敛、一致收敛、一致连续、同构等概念的梳理(1) 同构...原创 2020-03-15 17:20:25 · 980 阅读 · 0 评论 -
VS开发】C中调用C++文件中定义的function函数
【VS开发】C中调用C++文件中定义的function函数标签(空格分隔): 【VS开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/精要一揽C调用C++,使用extern “C”则是告诉编译器依照C的方式来编译封装接口,当然接口函数里面的C++语法还是按C++方式编译。使用extern “C” 主要是因为C编译器编译函数时不带参数的类型信息,只包含函数的原创 2015-12-04 18:51:44 · 3658 阅读 · 0 评论 -
【VS开发】MFC中调用C函数模块的解决方案
【VS开发】MFC中调用C函数模块的解决方案标签(空格分隔): 【VS开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:最近调试基于MFC的程序,当通过外部C文件引入某个function的时候,又一次忘记了C文件与C++文件的区别,直接按照一般的方式,将函数声明放入头文件,将函数定义放入C文件,然后再MFC中通过包含头文件来引用对应的function原创 2015-12-04 12:16:08 · 3765 阅读 · 0 评论 -
【Matlab开发】函数bsxfun的使用
【Matlab开发】函数bsxfun的使用标签:【Matlab开发】版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/lg1259156776/。说明:当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作。从MATLAB R原创 2015-11-25 14:45:42 · 11274 阅读 · 1 评论 -
【VS开发】CString 转为 char *方法大全
【VS开发】CString 转为 char *方法大全标签(空格分隔): 【VS开发】方法1:CString strTemp;char szTemp[128];strTemp = _T("abckdkfei");memset( szTemp, 0, sizeof(szTemp) );strcpy( szTemp, strTemp.GetBuffer(strTemp.GetLength()));原创 2015-11-14 08:54:31 · 6907 阅读 · 0 评论 -
【编程开发】 C与C++中的关于函数指针的强制类型转换与指针函数的关系
【编程开发】 C与C++中的关于函数指针的强制类型转换与指针函数的关系标签: 【编程开发】 【VS开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/以qsort为例:int cmpa(const void *a, const void *b){ if ( *(double*)a < *(double*)b ) return -1; if原创 2015-11-11 10:27:30 · 3332 阅读 · 1 评论 -
【Matlab开发】matlab中norm范数以及向量点积、绘图设置相关
【Matlab开发】matlab中norm范数以及向量点积、绘图设置相关标签(空格分隔): 【Matlab开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/norm范数使用help norm norm Matrix or vector norm. norm(X,2) returns the 2-norm of X. norm(X原创 2015-11-06 22:31:34 · 3953 阅读 · 0 评论 -
【编程开发】C语言中随机数rand使用注意事项
【编程开发】C语言中随机数rand使用注意事项标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:随机数在编程开发中非常重要,以C语言中的rand函数为例,使用时需要注意随机数的随机体现在哪里,比如是程序在不同的时刻执行时,相同位置的随机数是否需要一样,还是要每次执行生成的随机数也要不一样,等等,这些都是需要加以关注的地方。经测试,发现,原创 2015-11-06 14:03:02 · 1835 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(七)
【读书笔记】程序员的自我修养总结(七)标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。 本文主要介绍可执行文件的装载与进程ELF文件的链接视图和执行视图 当段的数量增多时,会产生空间浪费的问题:因为ELF文件被映射时时以系统的页长度作为单位的,那么每个段在影射时的原创 2015-11-02 21:47:44 · 2211 阅读 · 1 评论 -
【读书笔记】程序员的自我修养总结(六)
【读书笔记】程序员的自我修养总结(六)标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。 本文主要介绍可执行文件的装载与进程程序与进程的区别程序是静态的,指的是一些预先编译好的指令和数据集合的一个文件;而进程实际上就是运行着的程序,是动态的。虚拟地址空间程序运行起来后将原创 2015-11-01 15:46:22 · 1914 阅读 · 0 评论 -
【VS开发】VS2010 MFC中控件、对话框等背景颜色动态修改的方法
【VS开发】VS2010 MFC中控件、对话框等背景颜色动态修改的方法标签(空格分隔):【VS开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:最近突发奇想想完成两件新的人机交互工程,一个是基于眼动仪的眼动控制,另一个是基于camera的手动控制,最直观的方法就是使用slider滑块,眼睛或手左右动,slider也左右动,眼睛或手上下动,slider原创 2015-10-31 16:33:30 · 7969 阅读 · 2 评论 -
【Matlab开发】matlab删除数组中符合条件的元素与散点图绘制
【Matlab开发】matlab删除数组中符合条件的元素与散点图绘制声明:引用请注明出处http://blog.csdn.net/lg1259156776/matlab删除数组中符合条件的元素如下代码: Locate=find(a>122) %a是存储数据的数组名,find是找到大于122的数的位置 a(Locate)=[]; %删除数组a中大于122的元素散点图绘制scatter函数 可以通原创 2015-10-29 19:14:41 · 4377 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(五)
【读书笔记】程序员的自我修养总结(五)声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。COMMON块前面提到过强弱符号机制允许同一个符号的定义存在于多个文件中,编译器知道变量数据类型,而链接器则不知道数据类型,即变量类型对链接器是透明的,只知道一个符号的名字,并不知道类型是否一致。当定义多原创 2015-10-28 10:06:22 · 1671 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(四)
【读书笔记】程序员的自我修养总结(四)标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。链接过程中空间和地址分配 可执行文件中的代码段和数据段都是由输入目标中合并而来,链接器如何将各个段合并到输出文件并分配输出文件中的空间的呢?分配方法方法一:直接按序叠加,obj原创 2015-10-27 11:34:42 · 1226 阅读 · 0 评论 -
【编程开发】CMake相关注意事项
【编程开发】CMake相关注意事项声明:引用请注明出处http://blog.csdn.net/lg1259156776/CMake是一个非常常用的跨平台移植的工具,CMake可用来生成不同平台下的makefile或者工程,在使用中既可以采用GUI的配置方式,当然也可以使用cmd命令行的方式,但是最为方便的还是gui上面的配置,特别是当需要在cmd中使用时需要输入其他命令的时候,使用gui则可以通过原创 2015-10-26 19:18:07 · 1414 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(三)
【读书笔记】程序员的自我修养总结(三)声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。静态链接1. 静态链接库实际上就是一堆目标文件的归档,可以在cmd命令中使用命令ar t xx.lib可以解析出对应的obj文件,也可以通过ar -v -x xx.lib将目标文件解析出来。所以,需要了解原创 2015-10-23 20:41:10 · 1260 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(二)
程序员的自我修养总结(二)声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。由源文件到可执行文件分为四个步骤:预处理处理源代码中以#开始的预编译指令,进行宏定义展开,处理所有条件预编译指令,将被包含文件插入到预编译指令的位置,删除所有注释,添加行号及文件标识,保留#pragma编译器指令,因原创 2015-10-22 10:42:00 · 2474 阅读 · 0 评论 -
【读书笔记】程序员的自我修养总结(一)
程序员的自我修养总结(一)声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容。1. 关于CPU的倍频原先并没有倍频概念,CPU的主频和系统总线的速度是一样的,但CPU的速度越来越快,倍频技术也就应运而生。它可使系统总线工作在相对较低的频率上,而CPU速度可以通过倍频来无限提升。那么CPU主频的原创 2015-10-21 19:32:53 · 2403 阅读 · 1 评论 -
CMake生成VS2010工程相对路径和绝对路径问题说明
CMake生成VS2010工程相对路径和绝对路径问题说明声明:引用请注明出处http://blog.csdn.net/lg1259156776/主要是使用CMake生成的VS2010的工程,最好不要直接拷贝,最好的方法还是把给的那个CMake工程放入到合适的工程下,然后再重新Cmake生成,这样可能会减少路径出错的可能性。原创 2015-10-20 10:17:22 · 6661 阅读 · 0 评论 -
关于lib和dll
关于lib和dll声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:这里说的就是静态链接库LIB和动态链接库DL,有些时候经常弄混淆这两个东西,这里基于VS2010说明一下这两种库的特点及其构建。VS2010下的两种链接库静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文原创 2015-10-19 19:02:20 · 1524 阅读 · 0 评论 -
关于VS2010工程各种路径注意事项汇总
前段时间调试,利用cmake生成的vs2010工程文件,虽然该工程调试好了,但是对于为了修改相关接口函数,然后重新复制工程文件到新的目录下进行调试,总是出现各种各样的错误,最后发现问题出在了VS2010工程中各种包含路径的错误,是相对路径与绝对路径的问题,导致生成的库文件和修改后包含的头文件并不是在我拷贝后的那个工程路径下,而是在父工程目录下,浪费了不少时间,下面对VS工程中一般需要设置的路径进行说明。原创 2015-10-19 10:14:52 · 2688 阅读 · 0 评论 -
VS2010 如何在调试的时候输入参数
VS2010 如何在调试的时候输入参数原创 2015-10-18 15:43:16 · 3243 阅读 · 0 评论 -
C语言获取文件大小相关操作
通常在希望从文件中把数据全都出来赋值给一个数组或者某一个指针,然后再进行相关的数据处理,比如解码等操作。而在进行赋值以前,数组或者指针都需要进行内存分配,通常对于数组可以直接以文件最大的字节数进行分配,或者指针用malloc也按照最大字节进行分配,但这样会造成内存浪费,对于追求完美的程序员来讲是不能容忍的。所以一种非常适合的方法是在读取文件具体数据之前,可以提前获得文件大小,然后利用malloc对指针进行内存分配原创 2015-10-18 10:43:19 · 2210 阅读 · 0 评论 -
VS2010开发.cpp与.c的注意事项
VS2010开发.cpp与.c的注意事项声明:引用请注明出处http://blog.csdn.net/lg1259156776/强大的VS2010,正是由于vs2010的完全封装,让现在的windows程序开发变得简单易于操作的同时,也使得程序员渐渐地丧失了对整个程序开发流程的认识,甚至将一些概念给模糊、混淆了。比如今天说的这个问题就是,很多时候再进行算法验证的时候都是基于windows下VS201原创 2015-10-17 23:33:46 · 3266 阅读 · 0 评论 -
测试代码的编写
测试代码的编写说明:代码测试可能是软件测试的一个简化,一般是程序开发人员自己为了维护测试一段代码编写的健壮性所进行的一些测试。通常包括正向测试、负向测试和边界测试。而通常在程序开发阶段进行,并根据测试结果修改代码,以增加代码的健壮性。本文简单的对这三种测试进行说明,不对之处敬请指出。原创 2015-10-13 22:50:56 · 2407 阅读 · 0 评论 -
伪代码
伪代码声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:从来没有认真的想过学习一下伪代码,因为大部分只是在阅读,能够看懂也就没有深入了解一下如何编写伪代码,下面所进行的总结就是关于如何使用伪代码。原创 2015-10-12 11:22:52 · 15196 阅读 · 1 评论 -
《数学之美》之计算复杂度
《数学之美》之计算复杂度说明:本文是总结自《数学之美》的附录,关于计算复杂度的论述。在数据结构的博客专栏中实际上已经论述过计算复杂度和时间复杂度。这里从另一方面进行一种认识,加深理解。原创 2015-10-07 21:26:59 · 1960 阅读 · 0 评论 -
排序算法十:桶排序
排序算法十:桶排序引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的上一篇讲述了基数排序,本文讲述它的“表亲”:桶排序(bucket sort)。原创 2015-09-29 09:56:11 · 24228 阅读 · 3 评论 -
排序算法十一:计数排序
排序算法十一:计数排序引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的上一篇讲述了桶排序,本文讲述:计数排序(Counting sort)。原创 2015-09-29 10:20:23 · 2018 阅读 · 0 评论 -
排序算法九:基数排序
排序算法九:基数排序声明引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的前八篇讲述了插入排序、交换排序、选择排序和归并排序等四种不同类型,本文将讲述第五大类的排序算法:基数排序。原创 2015-09-28 13:52:43 · 4614 阅读 · 2 评论 -
排序算法八:归并排序
排序算法八:归并排序引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的前七篇分别讲述了插入排序、交换排序和选择排序,本文讲述第四大类的排序算法:归并排序。原创 2015-09-27 20:34:38 · 2283 阅读 · 0 评论 -
排序算法七:选择排序之堆排序
排序算法七:选择排序之堆排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。上博文讲述了选择排序中的简单排序算法,本文介绍的堆排序是树性选择排序,采用堆这个数据结构来辅助排序。原创 2015-09-26 11:37:09 · 3846 阅读 · 2 评论 -
排序算法六:选择排序之直接选择排序
排序算法六:选择排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的前五篇分别讲述了插入排序和交换排序,本文介绍直接选择排序这一似乎是最慢的排序算法。原创 2015-09-26 10:24:35 · 6975 阅读 · 1 评论 -
排序算法五:交换排序之快速排序
排序算法五:交换排序之快速排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的前三篇讲述了插入排序的三种不同类型,本文讲述第二大类的排序算法:交换排序,包括冒泡排序和快速排序。原创 2015-09-25 11:32:49 · 2836 阅读 · 1 评论 -
排序算法四:交换排序之冒泡排序
排序算法四:交换排序之冒泡排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。系列博文的前三篇讲述了插入排序的三种不同类型,本文讲述第二大类的排序算法:交换排序,包括冒泡排序和快速排序。原创 2015-09-25 11:31:11 · 3962 阅读 · 3 评论 -
排序算法三:Shell插入排序
在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。上一篇博文《排序算法二:二分(折半)插入排序》讲述了直接插入排序,本文讲述第三种插入排序算法:Shell插入排序。原创 2015-09-24 23:21:24 · 2682 阅读 · 1 评论 -
排序算法二:二分(折半)插入排序
在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。上一篇博文《排序算法一:直接插入排序》讲述了直接插入排序,本文讲述另一种插入排序算法:二分(折半)插入排序。原创 2015-09-24 11:11:51 · 14972 阅读 · 3 评论 -
in-place数据交换
经典的排序问题问题描述 一个数组中包含两个已经排好序的子数组,设计一个in-place(原位操作)算法来对这个数组排序。测试数据为 a[] = 1 4 5 7 8 9 2 3 6 10 11 。原创 2015-09-24 10:23:43 · 3962 阅读 · 1 评论