自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 公告

CSDN博客早就不维护了,如果对博主感兴趣可以通过github/bilibili来关注博主的最新动态~github:https://github.com/r00tk1tsbilibili:https://space.bilibili.com/267460290现在看看6年前的自己好青涩Q_Q...

2020-04-13 10:17:02 274

转载 一步一图一代码,一定要让你真正彻底明白红黑树

一步一图一代码,一定要让你真正彻底明白红黑树 作者:July   二零一一年一月九日-----------------------------本文参考:I、  The Art of Computer Programming Volume III、 Introduction to Algorithms, Second EditionIII、The Annota

2015-01-22 21:55:21 632

原创 源码系列:红黑树

red_black_tree.cpp#include #include #include #include using namespace std;namespace algo{ /// @param TKey 节点键的类型 /// @param TValue 节点值的类型 template class RBTree { public: enum RBTre

2015-01-22 21:46:13 559

原创 源码系列:二叉排序树

binary_search_tree.cpp#include #include #include #include using namespace std;namespace algo{ template class BinarySearchTree { private: struct _Node {

2014-12-21 18:46:28 624

原创 源码系列:全域哈希表

hash_table.cpp#include #include #include #include #include #include using namespace std;namespace algo{ template class UniversalHashTable { public: UniversalHashTab

2014-12-20 15:52:29 766

原创 源码系列:计数排序、基数排序、桶排序

linear_sort.cpp#include #include #include #include #include using namespace std;namespace algo{ /// 计数排序 void CountingSort(vector &ivec,int maxsize,int n) { for(int i=0;

2014-12-19 20:06:29 592

原创 源码系列:快速排序

quick_sort.cpp#include #include #include #include #include using namespace std;namespace algo{ /// 随机采样快排 平均效率O(nlgn)且常数因子很小 最坏效率O(n^2) void QuickSort(vector &toSort,int beginIndex,

2014-12-18 22:04:30 514

原创 源码系列:堆排序、优先队列

priority_queue.h#ifndef PRIORITY_QUEUE_H_INCLUDED#define PRIORITY_QUEUE_H_INCLUDED#include #include #include #include #include using namespace std;namespace algo{ /// @brief 优先队列

2014-12-17 20:52:58 503

转载 迭代器分类

1、输入迭代器:只读,一次传递    为输入迭代器预定义实现只有istream_iterator和istreambuf_iterator,用于从一个输入流istream中读取。一个输入迭代器仅能对它所选择的每个元素进行一次解析,它们只能向前移动。一个专门的构造函数定义了超越末尾的值。总是,输入迭代器可以对读操作的结果进行解析(对每个值仅解析一次),然后向前移动。    2、输出迭代器:只写

2014-10-15 15:35:14 621

转载 SQL Server应用程序中的高级SQL注入

摘要:这份文档是详细讨论SQL注入技术,它适应于比较流行的IIS+ASP+SQLSERVER平台。它讨论了哪些SQL语句能通过各种各样的方法注入到应用程序中,并且记录与攻击相关的数据确认和数据库锁定。这份文档的预期读者为与数据库通信的WEB程序的开发者和那些扮演审核WEB应用程序的安全专家。介绍:SQL是一种用于关系数据库的结构化查询语言。它分为许多种,但大多数都松散地基于

2014-10-10 17:00:31 466

转载 SQL注入法攻击一日通

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根 据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟

2014-10-10 16:43:42 468

转载 SQL注入漏洞全接触--高级篇

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。第一节、利用系统表注入SQLServer数据库SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体

2014-10-10 10:40:16 448

转载 SQL注入漏洞全接触--进阶篇

第一节、SQL注入的一般步骤首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种:(A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:Select * from 表名 where 字段=49注入的参数为ID=49 And [查询条件],即是生成语句:Se

2014-10-10 09:46:38 430

转载 SQL注入漏洞全接触--入门篇

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。    SQL注入是从正常的W

2014-10-10 09:13:46 423

转载 泛型算法

本文主要讨论C++标准库中的泛型算法(generic algorithm)。泛型算法是使用容器的强有力的辅助工具。   如果文中有错误或遗漏之处,敬请指出,谢谢!   标准库为容器类型定义的操作很少,并没有为每个容器实现更多的操作。因为这部分操作可以抽象出来为所有的容器工作,那就是泛型算法。所谓“泛型”是指这些算法可以应用于多种容器类型上,而容器内的元素类型也可以多样化。标

2014-10-09 17:48:03 562

转载 关联容器(map、set、multimap、multiset)

概述    关联容器(Associative Container)与顺序容器(Sequential Container)的本质区别在于:关联容器是通过键(key)存储和读取元素的,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。    关联容器支持通过键来高效地查找和读取元素,两个基本的关联容器是map和set。map的元素是“键-值”对的二元组形式:键用作元素在map中的索

2014-09-25 17:00:01 773

原创 左旋转字符串

微软面试题之一,难度系数高。题目描述如下:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef 左旋转2 位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n 的字符串操作的复杂度为O(n),辅助内存为O(1)。逻辑分析:1、这是一道很经典,很精妙的算法题。而对于我来说,这一道题尤为深刻,原因在于这是大神Ju

2014-07-05 21:05:26 995

原创 在字符串中找出连续最长的数字串

微软面试题之一,难度系数低。题目描述如下:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回, 并把这个最长数字串付给其中一个函数参数outputstr 所指内存。 例如:"abcd12345ed125ss123456789"的首地址传给intpu

2014-07-05 18:44:32 2412

原创 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数, 使其和等于m ,要求将其中所有的可能组合列出来

中兴面试题之一,难度系数中。题目描述如下:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来。逻辑分析:1、比起微软,google,百度这些公司,中兴的面试题还是略显逗比的,并非是说难度上差异,而是中兴的题目总是显得不伦不类。本体其实就是考察数的组合,对于此类问题,通常手段都是递归,而我们的目标就在于找出递归式。

2014-06-21 15:43:42 3770

原创 字符串转换成整数

微软面试题之一,难度系数低。题目描述如下:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。 逻辑分析:1、对于面试者来说,遇到这种题,算是很幸运的,比起思维灵活度,本题更加注重基础,也就是说,代码的稳定性,健壮性一定要好。对C/C++比较熟悉的读者应该很快会想到一个函数:atoi,没错,标准库中的atoi就是将字符串转为整数的函数

2014-06-20 21:39:35 950

原创 斐波那契数列

微软面试题之一,难度系数中。题目描述如下:定义Fibonacci 数列如下: / 0 n=0 f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2 输入n,用最快的方法求该数列的第n 项。逻辑分析:1、经典的斐波那契数列,故事背景就不介绍了,不了解的看客,面壁之前,自行百度脑补。对于斐波那契数列问题,经常在各种语言书中,作为递归的例子,所以提起递归

2014-06-15 21:22:02 1421

原创 约瑟夫环

微软面试题之一,难度系数中题目描述:题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始, 每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。 求出在这个圆圈中剩下的最后一个数字。逻辑分析:前言:赫赫有名的约瑟夫环,接触过算法的朋友想必耳熟能

2014-05-27 21:22:05 768

原创 在一个字符串中找到第一个只出现一次的字符

Google 2006年的一道笔试题,难度系数低题目描述:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。逻辑分析:1、简单粗暴O(n^2),一个显而易见的想法是像冒泡排序一样,采用两个循环,内层循环对外层判定元素arr[i]进行轮询,当发现arr[i] == arr[j]时,本次循环终止,显然,时间复杂度O(n^2),不使用额外空间。

2014-05-26 08:03:26 6250 1

转载 Linux内核学习笔记之main函数(四)

终于见到操作系统的main函数了,在被保护模式下的汇编蹂躏那么久,终于见到我们“可爱”的C语言了,鸡冻不已啊~让我们先一睹操作系统真容[cpp] view plaincopyvoid main(void)  {      time_init();      tty_init();      trap_init();    

2014-02-27 11:19:34 931

转载 Linux内核学习笔记之系统启动(三)

分段机制和分页机制,共同构成了保护模式下的地址映射机制,也为多任务操作系统以及程序部分加载的实现提供了支持。本节我们将探究分页机制的原理,并结合源码来研究在启动CPU分页机制前,操作系统都做哪些设置。1.再练神功    九阴真经残卷(四)----分页机制    首先在开始讲解分页机制前,我们要明白三个地址的含义:逻辑地址、线性地址和物理地址。程序运行的时候,所有的地址都是逻

2014-02-24 21:25:30 853

转载 Linux内核学习笔记之系统启动(二)

上节跳转到内存地址0x0处开始执行内核代码前,已经开启了保护模式,所以在讲解Linux代码前,不得不先给小伙伴们介绍下保护模式下的基础知识(可以先粗略看下,如果初试神功的内容理解有点困难,再回头来看会有更好效果)。1.初练神功九阴真经残卷(一)------段描述符    为什么要搞出个段描述符呢?这个就要将下CPU的历史了,很早的实地址模式的时候CPU的更新速度并没有内存块

2014-02-24 21:24:37 655

转载 Linux内核学习笔记之系统启动(一)

我们要运行程序,必须先启动操作系统,但是刚开机的时候又是谁运行了操作系统呢?开机的那刻究竟发生了什么?接下来让我们一起来揭开操作系统启动过程的神秘面纱~    我先引用《Linux内核注释》的一段原话来让大家对开机后发生的情况有段简要的认识,然后结合代码来详细描述这个过程:    Linux 的最最前面部分是用 8086 汇编语言编写的(boot/bootsect.s),它将由 BIOS

2014-02-24 21:23:36 689

原创 二叉树层序遍历

微软面试题,难度系数低,题目描述如下:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入          8        /    \       6    10      /  \   /   \     5  7 9  11 输出8 6 10 5 7 9 11。 逻辑分析:1、显然就是二叉树的层序

2014-02-06 11:44:16 3030 2

原创 输入一颗二元查找树,将该树转换为它的镜像

微软面试题,难度系数中下,题目描述如下:题目:输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。 例如输入:      8    /     \   6     10  / \      /  \        5   7  9   11 输出:

2014-02-05 21:09:14 1374

原创 升序数组中查找两个数,使得它们的和正好是输入的那个数字

微软面试题,难度系数低,题目描述如下:题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、15 和数字15。由于4+11=15,因此输出4 和11。 逻辑分析:1、针对一个元素相对少的数组,第一想

2014-02-05 18:49:46 1680

原创 寻找链表的倒数第k个节点

过年实在闲得无聊,还是撸几道算法,写写博文,打发打发时间。微软的面试题,难度系数低,描述如下:题目:输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 逻辑分析:1、前几天和钧哥会

2014-02-01 21:51:37 865

原创 另类求1+2+…+n

一道出题人闲的蛋疼的题目,单纯的语法技巧,难度系数不做判定。题目描述如下:题目:求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。 逻辑分析:1、我们都知道1到n的和,计算方法可按照等差数列n(n+1)/2计算得出,但是显然,这里禁用了乘除法,而一般的思路,如果采用加法运

2014-01-22 11:34:35 1088

原创 二叉树中节点的最大距离

微软面试题之一,难度系数中,题目描述如下:求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一棵二叉树中相距最远的两个节点之间的距离。  逻辑分析:1、看到这道题的时候,很容易产生一种错觉,这题不就是求二叉树高度吗。。。显然,出题人不是小白,所以这里面一定有文

2014-01-21 19:46:38 8365 5

原创 原创视频教程相关信息

云盟个人原创视频教程,永久更新。玉涵出品,必属精品。链接:http://pan.baidu.com/s/1o6LilbO 密码:ccuu更多精彩内容,敬请加入云客联盟。

2014-01-12 19:14:33 915

原创 翻转句子中单词的顺序

微软面试题之一,难度系数低。题目描述:题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 逻辑分析:因为之前看过July的《程序与编程艺术系列》,而第一篇刚好就是左旋字符串问题,这题和左旋字符串问

2014-01-08 18:41:10 716

原创 判断整数序列是不是二元查找树的后序遍历结果

好久没更新了,发一道水题。题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:         8     /     \    6     10  /    \    /  \ 5    7 9   11 因此返回tru

2013-12-31 22:02:52 877

原创 判断俩个链表是否相交

《编程之美》上的一道微软亚院题,判断两个两个链表是否相交,难度系数低。描述如下:给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。 为了简化问题,我们假设俩个链表均不带环。 问题扩展: 1.如果链表可能有环列? 2.如果需要求出俩个链表相交的第一个节点列? 逻辑分析:1、先考虑不带环的链表,最直观的方法就是,遍历h2链表的每一个元素,是否

2013-12-25 20:41:40 1495 1

原创 根据上排十个数,算出下排十个数

腾讯面试的一道逗比题。。。脑筋急转弯的货色,摆明了愚弄人。题目描述:给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数   要求下排每个数都是先前上排那十个数在下排出现的次数。   上排的十个数如下:   【0,1,2,3,4,5,6,7,8,9】举一个例子,   数值: 0,1,2,3,4,5,6,7,8,9   分配: 6,2,1,0,0

2013-12-24 22:09:03 698

原创 查找最小的K个元素

好吧,看到这道题的时候,我无节操的笑了。记着这学期刚开学的时候,小速问过我这道题,我就借这个机会,把当时所有的想法写出来。另外,csdn的july也曾经对此题写过巨幅文字,推荐大家欣赏k这道题也是实在太经典,google,microsoft等各大公司都曾经把它作为面试题,这道题的难度系数还是相对高一些的。首先,我们看题目描述:题目:输入n个整数,输出其中最小的k个。 例如输入1,2

2013-12-22 22:03:25 853

原创 在二元树中找出和为某一值的所有路径

微软的一道面试题,难度系数较低,题目描述如下:题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入整数22 和如下二元树     10    /    \   5   12  /  \ 4   7 则打印出两条路径:10, 12 和10, 5, 7。 二

2013-12-22 12:36:37 647

数据结构与算法分析C++描述源代码

数据结构与算法分析C++描述 第三版 源码以及课后答案

2014-10-21

SysinternalSuit

挺好的利器,windows下处理病毒这个足矣

2012-11-16

空空如也

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

TA关注的人

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