自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yyme411的专栏

韬光养晦!

  • 博客(68)
  • 资源 (8)
  • 收藏
  • 关注

原创 levelDB put 代码阅读

levelDB 写流程主要涉及到以下几点:1、对应的banch及检测当前level0层文件数;2、level 0对应的内存是否足够,检测是否需要生成imm;3、level 0层文件数达到软硬文件限制;4、合并写操作levelDB写流程大概流程图如下:// 写操作入口Status DB::Put(const WriteOptions& opt, const Slice& key, const Slice& value) { WriteBat.

2021-07-19 20:05:12 181 2

原创 【leetcode】剑指 Offer 65. 不用加减乘除做加法

题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。提示:a,b均可能是负数或 0 结果不会溢出 32 位整数解题思路(主要参考题解):1、计算两个数之和,要求不使用四则运算符号;首先需要考虑进位符,当两个数相与,并且左移一位;得到的结果表示进位符;但是该场景会有一个问题(当 << 的左操作数为负数时,例如 -1 << 1会报错,并且需要消除最高位是1的场景),可以通过与1<<3取反相与来得到..

2020-08-12 09:50:23 183

原创 【leetcode】剑指 Offer 36. 二叉搜索树与双向链表

题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操作。当转...

2020-07-27 09:39:06 185

原创 【leetcode】剑指 Offer 34. 二叉树中和为某一值的路径

题目描述:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。(https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/)示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / ...

2020-07-13 15:56:00 139

原创 [letcode 刷题之路]2两数相加

题目描述: 给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)...

2019-11-03 21:46:56 96

原创 malloc与new的区别

【背景介绍】前段时间参加腾讯面试,面试官让我说说malloc与new的区别;当时一下懵逼了,当时想到的只有new是C++的,在申请内存的时候应该会调用new的构造函数进行申请内存与初始化;以及new对应的是释放是delete。malloc对应的是C语言中的内存申请函数,其他更多的就不知道了。查询资料发现new和malloc的差别比较多,根据在网上查询到的资料进行总结。主要参考博客:https://...

2018-03-24 10:31:06 250

转载 vi配置文件

在用vi编程时,如果不配置,会感觉会不舒服。tab键的格数,背景色,这样会让看起来舒服些,用起来也方便些。这里转发一个vi的配置文件,可以复制到.vimrc文件,如果是usr放到/home/username/.vimrc  如果是root则放到/etc/vimrc这样vim的配置基本也结束了。在下边的文件中有几个地方又问题,能修改的已经修改,还有四处错误没有

2015-01-04 22:37:38 661

转载 C++中STL常用容器的区别

文章转载之博客:我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚。verctorvector类似于C语言中的数组,它维护一段连续的内存空间,具有固定的起始地址,因而能非常方便地进行随机存

2014-07-27 21:47:26 4918 3

转载 静态代码检查工具PC-Lint(二)

转载至:http://blog.csdn.net/orbit/article/details/9714573.5 格式检查    PC-Lint会检查printf和scanf(及其家族)中的格式冲突,例如:printf( "%+c", ... )将产生566告警,因为加号只在数字转换时有用,有超过一百个这样的组合会产生告警,编译器通常不标记这些矛盾,其他的告警还有对坏的格式

2014-03-20 22:32:26 3813

转载 静态代码检查工具PC-Lint(一)

转载至:http://blog.csdn.net/orbit/article/details/824505摘要:C/C++语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应增加了代码中存在隐患的可能性。静态代码检查工具PC-Lint则偏重于代码的逻辑分析,它能够发现代码中潜在的错误,比如数组访问越界、内存泄漏、使用未初始化变量等。本文将介绍如何安装和配置PC-

2014-03-20 22:31:14 3473

转载 算法系列---回溯算法

转载之博客:http://www.cnblogs.com/hustcat/archive/2008/04/09/1144645.html引言      寻找问题的解的一种可靠的方法是首先列出所有候选解,然后依次检查每一个,在检查完所有或部分候选解后,即可找到所需要的解。理论上,当候选解数量有限并且通过检查所有或部分候选解能够得到所需解时,上述方法是可行的。不过,在实际应用中,很少使

2014-02-20 21:19:35 798

原创 求字符串中最长回文子串

问题描述:    给定一个字符串S=A1A2...An,要求找出其最长回文子串(Longest Palindromic Substring)。所谓回文子串就是S的某个子串Ai...Aj为回文。例如,对字符串S=abcdcbeba,它的回文子串有:bcdcb,cdc,beb,满足题目要求的最长回文子串为bcdcb,其长度为5解法描述:解法1:      利用全部遍历的

2014-01-21 15:06:45 1114

原创 周期串问题

如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。样例输入:helpshelpshelpshelps样例输出:5#include #include #include void cycle_length(char *a,int lengt

2014-01-21 14:47:27 5866 5

原创 24点游戏算法

游戏规则: 一副牌中去掉大小王,在剩下的52张牌中任意取四张。使用四则运算,使其最后结果为24.其中每张牌只能使用一次且A=1,J=11,Q=12,K=13。     譬如 2,4,6,8  ------>  结果为 6/(4-2)*8=24; 算法思考: 首先,从宏观上说,这种问题都是遍历穷举。再看看运算符,其中+,* 都是没有顺序的。即(a*b=b*a), 但是 -、/

2014-01-16 16:09:35 1049

原创 蚂蚁爬杆问题

问题描述:有一根27厘米长的细木杆,在第3厘米,7厘米,11厘米,17厘米,23厘米这五个位置上各有一只蚂蚁,木杆很细,不能同时通过两只蚂蚁,开始时,蚂蚁的头朝向左还是右是任意的,他们只会朝前走或掉头,但不会后退,当两只蚂蚁相遇后,蚂蚁会同时掉头朝反方向走,假设蚂蚁们每秒钟可以走1厘米的距离。求所有蚂蚁都离开木杆的最小时间和最大时间。解决方法:所有蚂蚁都离开木杆的最小时间相当于每只蚂蚁离开

2013-12-18 08:59:11 837

转载 Linux 下C语言定调试

调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提供了设置断点, 单步跟踪等的图形界面, 使调试起来直观易用. 但Linux用户可能要生闷气了 O:-) : 难道我们Linux程序员就只能使用原始的调试方法, 在代码中加入printf信息吗?难道Li

2013-11-23 21:23:53 591

转载 CentOS6.4系统安装后的基础优化

文章转载至:“http://www.centoscn.com/CentOS/config/2013/1102/2034.html”CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行。在此讲解几点关于Linux系统安装后的基础优化操作。注意:本次优化都是基于CentOS(5.8/6.4)。在运维工作中,我们发现Linux系统安装之后并不能立即

2013-11-23 20:54:49 2781

转载 centos6 vim 配置

转载至:http://blog.csdn.net/lydyangliu/article/details/85261521、vim安装yum install vim默认安装目录:/usr/share/vim2、配置vimhttp://blog.csdn.net/shi_869160/article/details/59250593、代码补全

2013-11-21 22:02:04 979

转载 Vim:打造Linux C/C++程序员的编辑器

文章转载至:http://blog.csdn.net/shi_869160/article/details/5925059所谓“工欲善其事,必先利其器”,所谓“磨刀不误砍柴工“。在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了(不过 Ubuntu目前时需要自己安装的,默认只带了vi)。今天搞了半天了Vim,通过几个插件来武装我的vim,使其能向传说中的一样成为

2013-11-21 21:09:16 719

原创 求二叉树中节点的最大距离算法(C)

如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。书中对这个问题的分析是很清楚的,我尝试用自己的方式简短覆述。计算一个二叉树的最大距离有两个情况:情况A: 路径经过左子树的最深节点,通过根节点,再到右子树的最深节点。情况B: 路径不穿过根节点,而是左子树或右子树

2013-11-13 22:19:53 914

原创 队列中取最大值操作

这是一个要在队列中记录最大值的问题,但每次进队或出队又不能通过遍历去检测最大值的变化。用两个堆栈去实现一个队列是比较常见的方法,书中巧妙的用到了此方法,这样问题就转化为堆栈中取最大值操作问题。由于堆栈的变化只在栈顶,借助反向推导的思想:       由于在Push的过程中,最大值只与某一些值有关,这些值会在Push的过程中形成一个有序的链式结构。如Push(1,2,6,4,5,2,7,4)

2013-11-13 16:05:31 988

原创 重建二叉树 C语言实现

主要根据编程之美中利用前序与中序遍历实现二叉树的重构。其中对于前序遍历中的每一个节点都是当前子树的根节点这一理论来对中序遍历进行划分。并且也实现了根据中序遍历与后序遍历实现二叉树的重构,其中对于后序遍历主要要注意其中后序遍历的最后一个元素表示的是根节点这一思想来实现。其中对于利用前序遍历与中序遍历实现二叉树的重构的算法思想可以参考博客http://blog.csdn.net/hinyunsin

2013-11-08 20:01:58 3260

原创 最短摘要生成问题

其中查找主要思想与KMP算法思想比较相近,其中对于英文摘要,因为每一个英文字符对应一个ASCLL码,所以可以利用博客“http://blog.csdn.net/hiphopmattshi/article/details/8026722”的思想,定义一个数组来进行匹配。而对于中文摘要,因为中文字没有对应的ASCLL码,所以可以定义数组形指针来分别匹配,但是这里的复杂度相对前者要大,而空间复杂度要小。

2013-10-10 10:12:05 697

原创 排序算法总结与C代码

最近参加笔试,感觉排序算法需要好好的整理一下,感觉部分排序算法理解得不是很清楚;通过这段时间的整理与总结来对排序算法的一个复习吧。        主要参考了《大话数据结构》:1. 冒泡排序的基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。#define length 10void swap(int *a,int *b){ int temp; t

2013-10-09 21:23:11 8235

原创 电话号码对应的英语单词

具体问题描述见:《编程之美》-3.2 电话号码对应英语单词,在本文中主要根据《编程之美》中的思想分别利用递归与非递归的思想实现了电话号码对应英语单词的构造实现,主要考虑了排列树的思想,利用遍历树中的每个叶子节点来实现所有单词的集合。对应文中的查找方法正如《编程之美》中介绍的方法一样,主要根据构造的字典去匹配查找,其中具体思路请参考《编程之美》。#include #include #in

2013-10-03 16:31:06 2110

原创 字符串移位包含的问题

给定两个字符串是s1和s2,要求判定s2是否能够被s1做循环移位得到的字符串包含。假设,给定s1=AABCD和s2=CDAA,返回true,给定s1=ABCD和s2=ACBD,返回false。如果直接进行循环移位,再进行字符串包含的判定,从而遍历其所有的可能性,但是这种算法的时间复杂度比较高,如字符串的长度较大,显然效率很低;所以我们采用空间换时间的方法来实现比较。代码如下:#incl

2013-09-30 16:55:12 819

原创 区间重合判断(C语言实现)

问题描述:给定一个源区间[x,y](y>=x)和N个无序的目标区间[x1,y1],[x2,y2],[x3,y3],......[xN,yN],判断源区间[x,y]是不是在目标区间内?例如给定源区间[1,6]和一组无序的目标区间[2,3],[1,2],[2,9],[3,4],即可认为区间[1,6]在区间[2,3],[1,2],[2,9],[3,4]内。解决方法:1.首先对无序的目标区

2013-09-30 11:18:27 5981 1

原创 结构体数组排序

在对结构体数组排除时,首先确定需要排序数组的关键字,并且在排序过程中不是交换关键字的顺序,而是应该交换这个结构的地址,从而使得结构体中的每项能够对应的改变;其中对应的代码如下:#include #include struct Line{ int low; int high;};void quicksort(struct Line a[],int l,int h){

2013-09-30 10:22:27 6886

原创 数组分割—详细介绍(C语言实现)

这主要结合《编程之美-2.18数组分割》来实现,个人觉得《编程之美》中讲得不是特别详细,本人结合新浪微博中“数组分割问题-详细版”的介绍以及自己根据0-1背包问题作出如下实现思想,其中主要思想还是要感谢新浪微博中“数组分割问题-详细版,http://blog.sina.com.cn/s/blog_66223402010164ux.html”的版主的介绍与分析:《编程之美》2.18解法二中提到,

2013-09-29 15:56:39 8684

原创 求数组中最大递增子序列(C)

编程之美这本书里面就有关于这道题的一些解法,求一个一位数组中的最长序列的长度。例如,在序列5,-1,2,-3,4,-5,6,9,-7中,最长递增序列是-1,2,4,6,9.其中编程之美这本书中,主要讨论了对求最长序列的数组进行了讨论,其中代码如下:int i,j; int maxlen=1; max_array[1]=a[0]; max_array[0]=-8; for (i

2013-09-28 10:31:46 1534

原创 大整数加法

#include #include #include void add(char *a,char *b,char *s){int a_len=strlen(a);int b_len=strlen(b);int i,temp,k;char *a0=(char *)malloc(sizeof(char)*b_len);char *b0=(char *

2013-09-14 15:52:31 529

原创 大整数乘法-C语言实现

因为字符串高地址保存的是高#include #include #include void BigMul(char *a,char *b){ int a_len=strlen(a); int b_len=strlen(b); int i,j,n,temp,t; int *c=(int *)malloc(sizeof(int)*a_len); int *d=(int *)mal

2013-09-14 11:35:51 2440 1

原创 字符串处理转换

问题描述:    在给定字符串中找出单词( “单词”由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格、问号、数字等等;另外单个字母不算单词);找到单词后,按照长度进行降序排序,(排序时如果长度相同,则按出现的顺序进行排列),然后输出到一个新的字符串中;如果某个单词重复出现多次,则只输出一次;如果整个输入的字符串中没有找到单词,请输出空串。输出的单词之间使用一个“空格”隔开,最后一

2013-09-12 14:10:25 530

原创 字符串排序

void strsort(char *s[],int n){ int i,j; char *t; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(strcmp(s[i],s[j+1])) { t=s[i]; s[i]=s[j]; s[j]=t; } } }}

2013-09-11 16:01:06 659

转载 初学者VIM配置(.vimrc for beginners)

初学者VIM配置(.vimrc for beginners)(转载于http://edyfox.codecarver.org/html/_vimrc_for_beginners.html)VIM 中可供用户定制的选项非常非常多, 作为初学者, 我们没有必要了解这么多东西。 下面, 滇狐简单列出了一些最常用的配置项, 大家可以根据自己的需要将这些内容添加到自己的 .vimrc 中

2013-09-11 10:16:33 609

原创 提取字符串中的元音字母并排序

题目描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。说明:1、 元音字母是a,e,i,o,u,A,E,I,O,U。2、 筛选出来的元音字母,不需要剔重;3. 最终输出的字符串,小写元音

2013-09-10 22:27:18 2905

转载 C语言中常用字符串函数锦囊

C语言字符串函数    函数名: stpcpy    功   能: 从数组中拷贝一个字符串到另一个数组    用   法: char *stpcpy(char *destin, char *source);    程序例:    #include     #include     int main(void)    {    char string[10];

2013-09-06 10:49:32 749

转载 在TI DSP开发板中烧写Flash程序

实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。 实现Bootloade

2013-09-04 22:01:22 1740

转载 TI DSP CMD 文件各段含义

.text section    //代码段usually contains executable code.cinit section   // C语言 代码的 全局和静态变量 存放地址 C initialization records for explicitly initialized global and static variables.pinit section

2013-07-30 15:28:24 1235

转载 堆 和 栈的 区别(经典)

非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据

2013-07-30 14:36:13 555

6713 edma程序

关于TMS320C6713芯片的EDMA程序,还是很有用的。

2013-05-22

vhdl100个例子

对vhdl初学者很有帮助,里面全部都是vhdl语言实现的100个基本代码。

2011-10-10

VHDL实现的8位综合移位器

采用vhdl语言来实现,8位综合移位器的功能。

2011-10-10

vHDL语言实现的计数器

里面使用vhdl语言来实现的计数器功能,在ISE上编译过没有问题。

2011-10-10

智能天线与波束形成原理

里面有四个部分,详细的介绍了智能天线的波束形成!

2011-09-02

四阶累计量的DOA估计

对music_like实现四阶累计量的DOA估计,使用matlab软件编程实现。程序有详细注解

2011-08-22

12864lcd和键盘程序

里面包括12864lcd和键盘共同工作在单片机上的驱动程序。

2010-07-16

c语言初学学习200例

这是对c语言学习的爱好者绝对很有用的东西,下了你就会发现到底有多好。肯定不止200例,很多有用的程序。

2010-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除