zoukankan      html  css  js  c++  java
  • 程序员编程艺术总结

    原文链接:http://blog.csdn.net/v_JULY_v/article/category/784066

    第一章、左旋转字符串
    题目描述:
    定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
    如把字符串abcdef左旋转2位得到字符串cdefab。
    请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。
    第一节、左旋转字符串
    第二节、两个指针逐步翻转
    第三节、通过递归转换,缩小问题之规模
    第四节、stl::rotate 算法的步步深入
    第五节、总结
    链接:http://blog.csdn.net/v_july_v/article/details/6322882

    第二章、字符串是否包含及匹配/查找/转换/拷贝问题
    第一节、两个字符串是否包含的问题
      1.1、O(n*m)的轮询方法
      1.2、O(mlogm)+O(nlogn)+O(m+n)的排序方法
      1.3、O(n+m)的计数排序方法
    第二节 寻求线性时间的解法
      2.1、O(n+m)的hashtable的方法
      2.2、O(n+m)的数组存储方法
    第三节、O(n)到O(n+m)的素数方法
    第四节、字符串是否包含问题的继续补充
      4.1、Bit-map
      4.2、移位操作
    第五节、字符串相关问题扩展
      5.1、字符串匹配问题
      5.2、在字符串中查找子串
        扩展:在一个字符串中找到第一个只出现一次的字符
      5.3、字符串转换为整数
      5.4、字符串拷贝
    原文链接:http://blog.csdn.net/v_july_v/article/details/6347454

    第三章、寻找最小的k个数
    链接:http://blog.csdn.net/v_july_v/article/details/6370650
    第三章续、Top K算法问题的实现
    链接:http://blog.csdn.net/v_july_v/article/details/6403777

    第三章再续:快速选择SELECT算法的深入分析与实现
    链接:http://blog.csdn.net/v_JULY_v/article/details/6431001

    第三章三续、求数组中给定下标区间内的第K小(大)元素
    链接:http://blog.csdn.net/v_JULY_v/article/details/6452100

    第四章、现场编写类似strstr/strcpy/strpbrk的函数
    第一节、字符串查找
    1.1题目描述:
    给定一个字符串A,要求在A中查找一个子串B。
    如A="ABCDF",要你在A中查找子串B=“CD”。
    1.2、题目描述
    在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
    第二节、字符串拷贝
    题目描述:要求实现库函数strcpy,
    原型声明:extern char *strcpy(char *dest,char *src);
    功能:把src所指由NULL结束的字符串复制到dest所指的数组中。  
    说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
    char * strcpy( char *strDest, const char *strSrc )     
    {    
        if(strDest == strSrc) { return strDest; } 
        assert( (strDest != NULL) && (strSrc != NULL) );    
        char *address = strDest;     
        while( (*strDest++ = * strSrc++) != '/0' );     
        return address;    
    }
    第三节、小部分库函数的实现
    链接:http://blog.csdn.net/v_july_v/article/details/6417600

    第五章、寻找满足和为定值的两个或多个数
    第一节、寻找和为定值的两个数
    题目:输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。
    要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。
    例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。
    第二节、寻找和为定值的多个数
    编程求解:输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,
    使其和等于 m ,要求将其中所有的可能组合列出来。
    链接:http://blog.csdn.net/v_july_v/article/details/6419466

    第六章、求解500万以内的亲和数
    第一节、亲和数问题
    题目描述:求500万以内的所有亲和数。
    如果两个数a和b,a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。
    例如220和284,1184和1210,2620和2924。
    第二节、伴随数组线性遍历
    第三节、程序的构造与解释
    链接:http://blog.csdn.net/v_july_v/article/details/6441279

    第七章、求连续子数组的最大和
    第一节、求子数组的最大和
    题目描述:输入一个整形数组,数组里有正数也有负数。
    数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
    求所有子数组的和的最大值。要求时间复杂度为O(n)。
    例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。
    链接:http://blog.csdn.net/v_july_v/article/details/6444021

    第八章、从头至尾漫谈虚函数
    链接:http://blog.csdn.net/v_july_v/article/details/6446364

    第九章、闲话链表追赶问题
    第一节、求链表倒数第k个结点
    第13题、题目描述:输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。
    分析:此题一出,相信,稍微有点 经验的同志,都会说到:设置两个指针p1,p2,首先p1和p2都指向head,然后p2向前走k步,这样p1和p2之间就间隔k个节点,最后p1和p2同时向前移动,直至p2走到链表末尾。
    第二节、编程判断两个链表是否相交
    扩展1:如何编写代码来判断链表是否有环呢?
    扩展2:求两个链表相交的第一个节点。
    链接:http://blog.csdn.net/v_july_v/article/details/6447013

    第十章、如何给10^7个数据量的磁盘文件排序
    第一节、如何给磁盘文件排序
    问题描述:输入:给定一个文件,里面最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数),且其中每个数都小于等于n,n=10^7。
    输出:得到按从小到大升序排列的包含所有输入的整数的列表。
    条件:最多有大约1MB的内存空间可用,但磁盘空间足够。且要求运行时间在5分钟以下,10秒为最佳结果。
    第二节、多路归并算法的c++实现
    第三节、磁盘文件排序的编程实现
    第四节、多路归并算法的c实现
    链接:http://blog.csdn.net/v_july_v/article/details/6451990

    十道海量数据处理面试题与十个方法大总结
    链接:http://blog.csdn.net/v_JULY_v/article/details/6279498

    第一----十章集锦与总结(教你如何编程)
    链接:http://blog.csdn.net/v_july_v/article/details/6460494

    资料下载链接:http://download.csdn.net/detail/klcf0220/6416357

    http://download.csdn.net/detail/klcf0220/6681451

  • 相关阅读:
    TF-IDF理解及其Java实现
    Java两种方式简单实现:爬取网页并且保存
    PHP网站环境搭配: Apache Http+PHP+Mysql
    String与InputStream相互转换
    Eclipse工程文件夹 红叹号
    查准与召回(Precision & Recall)
    IR的评价指标-MAP,NDCG和MRR
    Dubbo简介2
    SpringCloud 集锦
    dubbox 的各种管理和监管[转]
  • 原文地址:https://www.cnblogs.com/klcf0220/p/3366373.html
Copyright © 2011-2022 走看看