Steve Sun的专栏

撸呀么撸代码~

轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢! http://blog.csdn.net/walkinginthewind/article/details/7518888 树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子...

2015-07-29 00:54:42

阅读数:381

评论数:0

c++题目整理

题1:   题2:   题3: 以下程序的输出是 class Base { public: Base(int j): i(j) {} virtual~Base() {} void func1() { i *= 10; ...

2015-07-18 18:29:01

阅读数:2330

评论数:0

linux下进程间通信的几种主要方式简介

linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道( mkpipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知...

2015-07-05 21:35:05

阅读数:468

评论数:0

解决哈希(HASH)冲突的主要方法

虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希...

2015-07-31 23:37:17

阅读数:14963

评论数:0

求二叉树中和为某一值的路径

struct BinaryTreeNode{ int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight; }; void FindPath(BinaryTreeNode *pRoot, int expectedSum, ...

2015-07-30 22:31:05

阅读数:370

评论数:0

判断二叉树是否是平衡树

解法1: int TreeDepth(BinaryTreeNode* pRoot) { if(pRoot == NULL) return 0; int nLeft = TreeDepth(pRoot->m_pLeft); int nRight = ...

2015-07-28 22:59:58

阅读数:218

评论数:0

汉诺塔问题

H(1) = 1 H(n) = 2 * H(n - 1) + 1 f = 2^n + 1 代码: #include void hanoi(int n,char A,char B,char C) { if(n==1) { printf("Move disk %d from ...

2015-07-28 01:47:20

阅读数:244

评论数:0

数据库隔离级别详解

事务(transaction)是数据库管理系统的执行单位,可以是一个数据库操作(如Select操作)或者是一组操作序列。事务ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 原子性:保证事务中的所有操作...

2015-07-27 19:44:55

阅读数:3590

评论数:0

求二叉树中节点的最大距离

编程之美中的题目,但是书上的代码递归太复杂,整理了个优化的解法: 思路: 可以转换为求二叉树中任意一个节点左右子树的高度和 struct Node{ Node *pLeft; Node *pRight; }; int maxLen = 0; int treeDepth(Node *pRoo...

2015-07-26 20:15:15

阅读数:282

评论数:0

不能在析构函数里面抛出异常

从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。 析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因...

2015-07-25 17:16:59

阅读数:310

评论数:0

网络编程socket基本API详解

socket   socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。   socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"...

2015-07-23 00:20:26

阅读数:721

评论数:0

二叉树题目集

题目:输入两棵二叉树A和B,判断树B是不是A的子结构 bool IsChildTree(Node * father, Node * son) { if(father == NULL && son == NULL) return true; ...

2015-07-23 00:18:20

阅读数:291

评论数:0

动态规划题集

1、最长公共子序列、最长公共子串 最长公共子序列(Longest-Common-Subsequence,LCS) dp[i][j]:dp[i][j]表示长度分别为i和j的序列X和序列Y构成的LCS的长度 dp[i][j] = 0,如果i=0 或 j=0  dp[i][j] = dp...

2015-07-23 00:15:42

阅读数:856

评论数:0

各种树的题目

1.判断二叉树是否平衡 解法1: int treeDepth(Node *root){ if(root == NULL) return 0; int ld = treeDepth(root->left); int rd = treeDepth(root->right); ...

2015-07-22 22:10:33

阅读数:335

评论数:0

STL算法之unique和unique_copy

一.unique函数 类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素。 该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。 1 // sort words alphabetic...

2015-07-22 00:27:44

阅读数:265

评论数:0

leetcode

3Sum  Total Accepted: 64333 Total Submissions: 380677My Submissions Question  Solution  Given an array S of n integers, are there elements a, ...

2015-07-22 00:10:15

阅读数:302

评论数:0

C/C++位域知识小结

几篇较全面的位域相关的文章: http://www.uplook.cn/blog/9/93362/ C/C++位域(Bit-fields)之我见 C中的位域与大小端问题 内存对齐全攻略–涉及位域的内存对齐原则 本文主要对位域相关知识进行了一下梳理,参考如下: C...

2015-07-19 15:47:16

阅读数:248

评论数:0

面向对象三大特性,五大原则

以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象, 其实真正的面向对象设计是要符合下面的五大原则, 面向对象的五大基本原则 单一职责原则(SRP) ...

2015-07-18 22:28:28

阅读数:9145

评论数:1

教你如何迅速秒杀掉:99%的海量数据处理面试题

教你如何迅速秒杀掉:99%的海量数据处理面试题 作者:July 出处:结构之法算法之道blog 前言    一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我...

2015-07-14 00:56:10

阅读数:1236

评论数:0

十道海量数据处理面试题与十个方法大总结

海量数据处理:十道面试题与十个海量数据处理方法总结 作者:July、youwang、yanxionglu。 时间:二零一一年三月二十六日 本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。 出处:http://blog.csdn.net/v...

2015-07-14 00:55:15

阅读数:667

评论数:0

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