- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 全排列
列出一个数组的全排列,数组的size是n, 那么根据高中数学排列组合知识,它的全排列个数应该是 n! 具体怎么求出来全排列,最容易想到的就是穷举法,列举出所有的可能。从递归的方式穷举,就很容易得出全排列的算法: 假设数组(a,b,c,d)的全排列可以表示为{a,b,c,d},那么{a,b,c,d} = a{b,c,d} + b{a,c,d} + c{a,b,d}+ d{a,b,
2017-11-01 21:05:57 474
原创 C++ 的重载(overload),重写(override), 重定义(redefining/hide)
一、重载(overload)实现重载要求函数名相同,但是参数表列 个数或顺序,类型不同。注意 不能通过返回类型来重载。(1)相同的范围(在同一个作用域中) ;(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。(5)返回值可以不同;二、重写(也称覆盖 override)指在派生类中重新定义基类的虚函数,特征是:(1)不在同一个作
2017-07-24 10:22:33 334
原创 screen 工具用法
To "kill" the complete session, use quit.screen -X -S [session # you want to kill] quiteg:sc-xterm-26:~> screen -lsThere are screens on: 7031.pts-111.sc-xterm-26 (Detac
2017-02-21 14:43:18 437
原创 在CCSv6中添加simulator
TI的CCS从v3.3开始一直支持simulate的功能,但是从CCSV6开始不再支持simulate。win8以上的操作系统只能支持ccsv6,为了在win8以上的系统上继续l利用ccs进行dsp开发,不得不使用simulate功能。TI官网上给出的解释是:CCSv6 does NOT have any simulators. Texas Instruments is moving away
2016-09-06 20:46:38 2848 1
转载 Linux进程间通信——使用匿名管道
转自ljianhui在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。一、什么是管道如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连
2016-04-11 15:31:04 290
转载 Linux下Fork与Exec使用
转自老邮局琼楼挂月钓流云,梦里瑶台暂借春Linux下Fork与Exec使用一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小
2016-04-11 15:27:09 329
转载 深度优先搜索算法的通用解法
深度优先搜索算法的通用解法原文 http://helloitworks.com/678.html主题 深度优先搜索本文思路异常清晰,学习DFS算法强力推荐,妈妈再也不用担心我做迭代思路混乱一、深度优先搜索深度优先搜索算法(Depth First Search),是图论中的经典算法。深度优先搜索算法是沿着树的深度遍历树的节点,尽可能深的搜索树
2016-03-31 21:33:12 6692
原创 删除给定数组中的指定元素
最近想起了一个题:删除一个给定数组中的指定元素,要删除后还是一个连续分布的数组,也就是删除过程中要做相邻移位。曾经见到一个非常简洁的做法,不过怎么都想不起来了。自己做了一个,希望有兴趣的朋友能给出更好的做法。以下是我自己的实现函数,对给定数组a[n],删除值为x的元素,返回值为删除后数组的长度。int csa(int a[],int n,int x){ int i=0,j=0,k=0;
2016-03-30 21:00:48 3278
原创 二叉排序树的C++实现
最近复习了一下C++语言,复习的过程中顺带重温了下数据结构的一些内容,一石二鸟呀!下面是类模板实现二叉排序树。 先定义节点类型和二叉树类型:templateclass BinaryTree;template //节点类的定义class Node{private: Node*lchild, *rchild; T info; public: Node()
2015-06-10 16:23:54 9252
原创 二叉树
概念 二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。 一棵深度为k,且有2^k
2015-05-28 20:01:20 398
原创 单链表找环
15年腾讯的实习生招聘笔试题出现了这个经典问题:在只知道链表头指针的情况下,怎么判断链表中是否存在环。如果有环,判断环有多大,环的入口节点在哪里。对这几个问题,整理了一下网友提供的思路,自己动手实现了一下。首先,判断环的存在。用两个指针,分别以一次走一步和一次走两步的速度遍历单链表,若有环,两指针肯定会在环中相遇,若没有,快指针会先遍历到NULL跳出。bool findc(node*h
2015-05-27 16:18:20 522
原创 单链表反转的实现
作为半路出家的码农,前段时间去试了下程序猿行业水的深浅,参加了几家互联网公司实习生的笔面试,然后就有问到这个问题:单链表反转。总结了下实现的方法,根据是否改变原链表结构,主要分出两个方法:一是原地反转,二是新建链表实现原元链表的反转链表。前者主要是实现思路是从第二个节点开始不断把每个节点换插到头指针指向的地方,直到尾节点。下面是我的具体实现代码:node*reverselocal(
2015-05-26 16:56:31 601
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人