- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 extern c
作者 JasonDing 2014.11.13 16:58 写了264382字,被190人关注,获得了315个喜欢 extern "c"用法解析 字数1875 阅读434 评论0 喜欢8 引言 C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处
2015-09-27 09:59:47 322
原创 查找(三)hash 与map
一,hashtable原理: 哈希表又名散列表,其主要目的是用于解决数据的快速定位问题。考虑如下一个场景。 一列键值对数据,存储在一个table中,如何通过数据的关键字快速查找相应值呢?不要告诉我一个个拿出来比较key啊,呵呵。 大家都知道,在所有的线性数据结构中,数组的定位速度最快,因为它可通过数组下标直接定位到相应的数组空间,就不需要一个个查找。而哈希表就是利用数组这个能够快速定位数
2015-09-26 11:24:49 556
原创 查找(二)二叉查找数BST
template bool binarSearchTree:: contain( const Comparable & x )const { return contain( x, root ); } template bool binarSearchTree:: contain(const Comparable & x ,binaryNode* t)const { if ( t == NU
2015-09-26 10:21:42 354
原创 查找(一)二分查找
在面试的时候二分查找是用的比较多一种查找算法,如何在面试官面前快速准确得的写出代码决定你是否能够被录取。以前一直以为二分查找很简单,所以就没怎么重视,但是真要在面试官面前对着黑板手写出来,还是漏洞百出。今天自己在电脑面前敲出了二分查找的代码,也花了将近半个小时。对于这种基础排序查找算法,还是得好好重视。 二分查找的时间复杂度是O(log(n)),最坏情况下的时间复杂度是O(n)。二分查找的一
2015-09-26 09:35:16 343
原创 求字符串中字符全排列 和 组合
二、字符串的组合 (1)若不考虑字符串中有重复字符(即假设字符串中无重复字符) (2)若考虑字符串中有重复字符(即假设字符串中有重复字符) 一、字符串的全排列(1)若不考虑字符串中有重复字符(即假设字符串中无重复字符) 此时“abc”的全排列为:abc、acb、bac、bca、cab和cba。 我们以三个字符abc为例来分析一下求字符串排列的过程。首先我们固定第一个字
2015-09-25 15:01:02 380
原创 tcp/ip 连接三次握手,断开四次握手
TCP/IP 状态机,如下图所示: 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。 (SYN包表示标志位syn=1,ACK包表示标志位ack=1,SYN+ACK包表示标志位syn=1,ack=1) (1) 第一次握手:建立连接时,客户端A发送SYN包(SEQ_NUMBER=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
2015-09-17 09:14:11 377
原创 Permutation sequence
n个数的全排列,按照从下到大的顺序排列,问第k个位置的数是多少? 这个问题有几种方法,不过只有康托编码的时间复杂度是最低的。是O(n),简直凶残。 1.用next_permutation来求,这个也是leetcode上的一道题,就是求其下一个排列,然后对1234…n 运行n次 next_pernutation方法就能得到第k个数了 思想就是这样。 2.利用康托编码来求。 其实就是康托
2015-09-14 10:47:28 324
原创 Next Permutation
这道题给出一个数列,求大于这个数列的最小数列。 例如: 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 二、 分析 喜欢使用C++的童鞋或许会马上想到next_permutation()这个库函数,没错,其实这道题就是实现的它(严格说来只是初步实现),如果可以的话,如果直接输入这一行代码就可通过: ? 1 2 3
2015-09-13 18:29:14 540
原创 leetcode RelateArray
设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。 不合题意的解法如下: 我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次。abcd1234→4abcd123→34abcd12→234abcd1→1234abcd。伪代码如下: 代码清单2-33 RightShift(int* arr, int N, int K
2015-09-11 21:13:37 266
原创 创建二叉树以及 前序、中序、后序遍历二叉树
用递归方法建立二叉树 分类: 数据结构与算法 2012-11-01 20:20 3961人阅读 评论(6) 收藏 举报 假设二叉树为: a b c
2015-09-07 22:24:56 870
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人