自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

业精于勤,而荒于嬉; 行成于思,而毁于随。

专注Linux C/C++,shell,python,算法、网路、大数据、云服务、一切与服务器编程相关的东西。爱好看书、结交朋友、骑车、篮球。

  • 博客(70)
  • 资源 (10)
  • 收藏
  • 关注

原创 数据结构——算法之(043)(c++各种排序算法实现)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:c++ 各种排序算法实现题目分析:具体排序原理参考相关算法书籍算法实现:#include static void swap(int *a, int *b){ int tmp; tmp = *a; *a = *b;

2015-06-10 13:04:52 1449

原创 数据结构——算法之(042)(字符串移位包含的问题, s1是否可以由s2移位后得到)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:字符串移位包含的问题, s1是否可以由s2移位后得到题目分析:1、顺序遍历字符串s12、每次左移一个字符与s2比较算法实现:#include #include int is_rotate_str(char *des

2015-06-10 13:00:39 726

原创 数据结构——算法之(041)(寻找数组中的最大值和最小值)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:寻找数组中的最大值和最小值题目分析:1、时间复杂度0(1)算法实现:#include void get_array_max_and_min(int *array, int array_size, int *max, int *min

2015-06-10 12:54:51 2627

原创 数据结构——算法之(040)(最大公约数问题)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:最大公约数问题题目分析:编程之美上的经典算法算法实现:#include int gcd(int x, int y){ return ((!y) ? x: gcd(y, x%y));}int main(int argc, c

2015-06-10 12:51:32 778

原创 数据结构——算法之(039)(ip合法性检查)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:ip合法性检查题目分析:(1) 字符串只含有数字和'.'(2) 长度在7-15之间(0.0.0.0--255.255.255.255)(3) 每个数字在0-255之间(4) '.'号不能超过3个,且不能连续算法实现:#inc

2015-06-10 12:48:40 968

原创 数据结构——算法之(038)(找出两个数之间的素数的个数,并打印)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:找出两个数之间的素数的个数,并打印题目分析:1、素数是只能被1和本身整除的数算法实现:#include /*** 找出两个数之间的素数的个数,并打印** 注意:只能被1和本身整除的数*/int count_prime_numbe

2014-06-30 17:18:53 1387

原创 数据结构——算法之(037)(数值的整数次方)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:数值的整数次方.实现函数double Power(double base, int exponent),求base 的exponent次方,不需要考虑溢出题目分析:1、要考虑double型变量的比较2、正负数的不同点算法实现:#in

2014-06-30 17:15:19 851

原创 数据结构——算法之(036)(输出字符串的所有排列)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输出字符串的所有排列,如 abc 的全排列: abc, acb, bca, dac, cab, cba题目分析:1、想遍历字符串,然后顺序交换字符串的两个字符,然后再次递归后,把刚才那两个字符交换回来算法实现:#include using

2014-06-30 17:13:16 882

原创 数据结构——算法之(035)(时钟的时分秒针每天重叠几次?时分每天相遇几次?分秒每小时遇到几次?)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:两个有序单链表合并为一个有序的单链表(默认升序)题目分析:1、因为两个链表都是有序的,所以首先要记录那个链表头最小2、大致思想是用一个虚拟节点顺序连接两个链表中的节点,并且顺移两个链表中头指针,让其一直 指向第一个未被连接的节点算法实现

2014-06-30 17:07:52 1111

原创 数据结构——算法之(034)(编写一个函数求一个数组中的第二大数)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:编写一个函数求一个数组中的第二大数题目分析:1、要想找到第二大数,很自然想到,你必须找到第一大数2、顺序遍历数组,用两个零时变量记录当前的最大值和第二大值算法实现:#include int search_second_max(i

2014-06-30 17:02:41 1771

原创 数据结构——算法之(033)(两个有序单链表合并为一个有序的单链表)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:两个有序单链表合并为一个有序的单链表(默认升序)题目分析:1、因为两个链表都是有序的,所以首先要记录那个链表头最小2、大致思想是用一个虚拟节点顺序连接两个链表中的节点,并且顺移两个链表中头指针,让其一直 指向第一个未被连接的节点算法实现

2014-06-17 09:53:21 3439

原创 数据结构——算法之(032)(求两个串中的第一个最长子串)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:求两个串中的第一个最长子串(神州数码以前试题).如"abractyeyt","dgdsaeactyey"的最大子串为"actyey".题目分析:1、这里只是实现了简单的字符串算法(最大支持字符串长度64),主要是展示算法思想2、思路是把2个字符

2014-06-17 09:44:21 1627

原创 数据结构——算法之(031)(将字符串中所有小写字母排在大写字母的前面)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。题目分析:1、需要保持非'*'字符的顺序2、不开辟额外的空间3、用快慢指针,指向字符串尾巴,快指针指向非‘

2014-06-17 09:37:05 1461

原创 数据结构——算法之(030)(将字符串中所有小写字母排在大写字母的前面)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面开辟足够少的空间,时间复杂度O(n)题目分析:1、字符串从新排序后没有要求保持以前的顺序2、用两个指针分别指向字符串头和尾,头指针指向每次指向大写字

2014-06-17 09:29:22 3230 1

原创 数据结构——算法之(029)( 字符串原地压缩)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:字符串原地压缩,题目描述:"eeeeeaaaff" 压缩为"e5a3f2",请编程实现题目分析:1、原地压缩,意思是不开辟额外的空间2、应该考虑单个字符不压缩,比如‘q’压缩过后还是‘q’,而不应该是‘q1’3、压缩后某个字符个数是多位

2014-06-17 09:21:30 1940 1

原创 数据结构——算法之(028)( 寻找其中的一个子字符串个数)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde 的个数,如果没有返回0,有的话返回子字符串的个数题目分析:1、顺序遍历字符串,然后用strncmp比较即可算法实现:#include #include int sub_st

2014-06-16 16:56:22 1546

原创 数据结构——算法之(027)( 在O(1)时间内删除链表结点)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:在O(1)时间内删除链表结点,且不知道链表头题目分析:1、把要删除节点的下一个节点的数据拷贝到要删除的节点2、把下一个节点删除算法实现:#include #include typedef struct _list_node{ int

2014-06-16 16:51:25 1015

翻译 C++迭代器失效的问题 汇总

首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器失效。那为什么迭代器会失效呢?vector元素在内存中是顺序存储,试想:如果当前容器中已经存在了10个元素,现在又要添加一个元素到容器中,但是内存中紧跟在这10个元素后面没有一个空闲空间,而vector的元素必须顺序存储一边索引访问,所以我们不能在内存中随便找个地方存储这个元素。于是vector必须重新分配存储空间,用来存放原来

2014-06-13 21:54:44 781

原创 数据结构——算法之(026)( 调整数组顺序使奇数位于偶数前面)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个整数数组,实现一个函数调整数组的元素顺序,使得奇数位于偶数的前半部分,偶数位于数组的后半部分。时间复杂度O(n)题目分析:类似题目:(1)没有要求调整后,位置不可以变化(2)时间复杂度智能遍历一次算法实现:#includ

2014-06-04 16:00:15 1454

原创 数据结构——算法之(025)( 求一个数组的最长递减子序列)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:创新工场(算法):求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}题目分析:一、这个题目类似:在一个字符串中求最长数字串(1)快慢指针操作,每次指针调整前,先保存上一次的值(

2014-06-04 15:55:17 1073

原创 数据结构——算法之(024)(在字符串中找出连续最长的数字串,并把这个串的长度返回)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存

2014-06-04 15:47:11 2280

原创 数据结构——算法之(023)( 单链表就地逆置,头插法)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:单向链表的就地逆置题目分析:一、方法很多,这里使用头插法(1)顺序遍历链表,并把每个节点从新插入在头结点后面(2)其实就是简单的头插法建立链表的过程算法实现:#include #include typedef st

2014-06-04 15:38:57 8345

原创 数据结构——算法之(022)( 在字符串中删除特定的字符)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的

2014-05-27 12:06:24 2076

原创 数据结构——算法之(021)( 从尾到头输出链表)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;};题目分析:给出三种解题方法:(注意,单向链

2014-05-27 11:56:39 1065

原创 数据结构——算法之(020)( 和为n连续正数序列)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。分析:这是一道广为流传的面试题,包括百度、微软和Google 在内的多家公司都曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,除了较好的编程能力之外,还需要较快的反应和较强的逻辑思维能力

2014-05-27 11:48:25 804

原创 数据结构——算法之(019)( 10分钟写出二分法查找,并调试通过)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:写出二分法查找,要求在10分钟之内完成,并调试通过题目分析:一、相信好多人看着简单,动手就难了。二、二分法查找只能用于排序过的序列查找,简单的思想是折半查找法,每次查找前先修改下标。算法实现:#include int

2014-05-27 11:38:57 1376

原创 数据结构——算法之(018)( 和为n连续正数序列)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个正数n,输出所有和为n连续正数序列例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。题目分析:一、首先是连续的序列,则个数至少是2,假如输入的是15,则循环到中间就可以了

2014-05-25 21:04:46 794

原创 数据结构——算法之(017)( 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1))

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)题目分析:一、乍一看,不可能完成。时间复杂度为n,纵观所有的排序法,没有达到这个级别的二、如果针对的是有限个数排列,可以采用标记法,或者说它是一种hash思想的方法,申

2014-05-25 20:51:56 1250

原创 数据结构——算法之(016)( 输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入整数n,计算从1到n这个n个整数的十进制表示中1出现的次数和题目分析:一、其实问题可以转换成求一个数中1出现的次数,则涉及到基本的取余和除法运算算法实现:#include /*** 计算整数@m中包含数字@digit的个数*

2014-05-25 20:42:54 1328

原创 数据结构——算法之(015)( 求整数二进制表示中1的个数)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个整数,求改整数的二进制表达式中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2.题目分析:解法一、从右边开始计算位为1的个数:用右移运算符,先判断最右边的那位是不是1,接着往右移一位。一直循环往复直到输入的值变为0

2014-05-25 20:34:29 1122

原创 数据结构——算法之(014)( 输入n,用最快的方法求Fibonacci数列的第n项)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:题目:定义Fibonacci数列如下:    / 0 n=0f(n)= 1 n=1  / f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n项。分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子。

2014-05-24 11:24:09 1212

原创 数据结构——算法之(013)( 求和1+2+3+...N)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:求和1+2+3+...N 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句.题目分析:一、首先,题目不允许使用while,那我们得想到循环的唯一方法递归二、不能使用if语句,那么可以巧用

2014-05-24 11:16:31 1662

原创 数据结构——算法之(012)( linux C 所有字符串操作函数实现)

题目:实现linux C下常用的字符串操作函数题目分析:一、面试中可能经常遇到这样的问题:比如strcpy、memcpy、strstr二、参考了linux 内核代码,对linux大神表示感谢,代码写得相当精致,这里拿来与大家分享吧算法实现:/* * linux/lib/string.c * * Copyright (C) 1991, 1992 Lin

2014-05-23 14:35:57 1571

原创 数据结构——算法之(011)( 字符串是否包含问题)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些。什么方法能最快的查出所有小字符串B里的字母在大字符串A里都有?题目分析:一、注意字符串B中可能有称呼包含相同字符解法一、轮训方法(1)先遍历短的字符串,把

2014-05-23 14:15:49 878

原创 数据结构——算法之(010)( 字符串的左旋转操作)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。题目分析:一、方法很多,只实现

2014-05-23 14:00:58 1057

原创 数据结构——算法之(009)( 设计包含min 函数的栈)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。题目分析:解法一、翻转2次字符串,(1)先翻转整个字符串 (2)在翻转句子中的单词解法二、倒序拷贝,从字符串末

2014-05-22 17:25:08 667

原创 数据结构——算法之(008)( 输入一个表示整数的字符串,把该字符串转换成整数并输出)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。题目分析:一、考虑正负号二、参数和返回值参考atoi算法实现:#include int str_to_int(const char

2014-05-22 12:25:58 1120

原创 数据结构——算法之(007)(在一个字符串中找到第一个只出现一次的字符)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。题目分析:一、没有复杂度的要求二、先顺序遍历字符串,再把每次遍历的得到的字符,在整个字符串中查找(注意:查找时要过滤掉当前字符的索引)算法实现:#includ

2014-05-22 11:22:14 1120

原创 数据结构——算法之(006)(求子数组的最大和)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。题目分析:一、如果数组中全部为负数,则返回最大负数值即可二、当既有正数也有负数的时候

2014-05-22 09:44:39 732

原创 数据结构——算法之(005)(判断字符串是否是对称的即(回文字符串))

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:[email protected]】题目:判断一字符串是不是对称的,如:abccba 123454321题目分析:一、通过2个指针start、end分别指向数组的头和尾,一旦*start != *end 立即返回即可算法实现:#include #include using na

2014-05-21 22:46:32 3734

C标准库中文版

本书集中讨论了C标准库,全面介绍了ANSI/ISO C语言标准的所有库函数。书中通过引用ISO C标准的相关部分,详细讲解了每一个库函数的使用方法,并通过示例描述了其实现细节,且给出了实现和测试这些函数的完整代码。此外,每章结尾附有不同难度的习题,帮助读者巩固和提高。通过此书,读者将会更好地使用C标准库,并学会如何设计和实现库。本书结构清晰,内容权威,阐述精辟,对于各层次C程序员和相关专业高校师生都是一本优秀的参考书。

2012-11-20

程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版.pdf

程序员编程 结构之法 算法之道 主要是一些经典算法题目的总结..程序员必看。

2012-08-30

[现代操作系统].(荷)Andrew.S.Tanenbaum..pdf

现代操作系统(原书第3版)》特色:涉及Windows Vista以及最新的Linux/UNIX操作系统。用一整章(第12章)的篇幅对用于移动设备的Symbian操作系统进行分析。涵盖更多、更新的安全方面的内容。重新组织内容,尽早论述关键抽象概念。给出与未来操作系统发展有关的新研究成果。更新和增加了编程练习。在线操作系统练习(http://www.prenhall.com/tanenbaum/details.html)采用主流Windows操作系统以及开源工具。包括操作系统模拟练习。Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使《现代操作系统(原书第3版)》成为操作系统领域的经典之作。在《现代操作系统(原书第3版)》第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。

2012-08-29

[数据结构(C语言版)].严蔚敏.pdf

《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。学了数据结构后,许多以前写起来很繁杂的代码现在写起来很清晰明了. 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。 全书采用类C语言作为数据结构和算法的描述语言。 本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。

2012-08-29

Linux指令速查手册

《LINUX指令速查手册》中所讲指令按照字母顺序和功能顺序进行索引,读者既可以按照字母顺序进行查找,也可以按照功能顺序进行学习。《LINUX指令速查手册》不仅适合于Linux初学者学习使用,而且可以作为Linux系统管理员的参考手册。

2012-08-29

空空如也

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

TA关注的人

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