算法
wenph2008
我只想静静的写会儿代码~
展开
-
二分查找
int Find(int arr[], int key,int length){ assert(arr!=NULL&&length>0); int low=0,high=length,mid; while(low<=high) { mid=(low+high)/2; if(arr[mid]==key) return mid;原创 2013-04-27 23:10:22 · 532 阅读 · 0 评论 -
[搜狐笔试]显示所有正确的括号匹配
题目: 编程实现所有括号的合法匹配。实例如下:输入 3输出 ((())) (()()) (())() ()(()) ()()() 解题思路:学名为:深度优先搜索(DFS) 这是看别人的文章得到的名称。。。 代码如下:#include "stdafx.h"#include "iostream"#include "stdio.h"#include#i转载 2013-10-23 15:31:18 · 630 阅读 · 0 评论 -
八皇后问题
精彩待续。。。原创 2013-10-14 15:24:23 · 517 阅读 · 0 评论 -
最长公共子序列,最长公共子串,最长递增子序列的问题~
精彩待续。。。原创 2013-10-14 11:24:34 · 554 阅读 · 0 评论 -
两个鸡蛋,100层楼,找出摔碎鸡蛋的最低楼层,所用的摔鸡蛋次数最少
题目:问题:一幢大楼共计100层,某种类型的鸡蛋从某一楼层及其以上楼层摔下来时会被打破,从该层楼(即临界楼层)以下楼层摔下该鸡蛋,鸡蛋不会出现破损。现给你2个完全一样的该种类型的鸡蛋,问:如何通过这2个鸡蛋找到该临界楼层时,所用的摔鸡蛋次数最少? 思考:给了我们2个鸡蛋,意思就很明显,有1个鸡蛋起到关键作用,它可以被打破,以告诉我们临界楼层大致在什么位置。初探:看到这个题,首先原创 2013-10-06 19:55:04 · 4816 阅读 · 1 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出转载 2013-06-20 21:54:23 · 525 阅读 · 0 评论 -
N银币 + 1金币的问题
原题:(同学面试面来的题),如果有 20 个银币,和 1个金币,有A和B两人轮流按照如下规则来取:A先B后,每人每次只能取 1~4 枚,银币取完了后才能取金币,最后取到金币的人赢,问A第一次取多少可以保证稳赢。答案是:A第一次取4枚稳赢。实验室的博士大哥试图用群论的理论给我说明,但是无奈在下在数学&理论的海洋边上走了很多年,一直没湿过膝盖,水平太浅,所以没能明白。我自己思考后,想到了一个求转载 2013-05-15 19:32:04 · 1105 阅读 · 0 评论 -
能被4整除的年份是闰年,年份尾00的能被400整除的年份是闰年
能被4整除的年份是闰年,年份尾00的能被400整除的年份是闰年原创 2013-04-27 23:14:51 · 1347 阅读 · 0 评论 -
带环单链表求中点
最近一直在无脑敲代码,结果今天下午被一个准备各种面试题的同学问了一个带环单链表的问题,发现最近的智商真心不够用,想了稍长时间,最后算是想明白了。因为最后想到头大的时候,百度了一下,所以只好选择分类为转载,下面就建立在自己思考的基础上,讲解一下,如又不对的地方,望指正。首先,对于一个n节点的单链环,如果给定一个开始节点n0,然后用a,b两个指针,分别以1和2的步长遍历,那么在a环原创 2013-04-27 23:14:03 · 600 阅读 · 0 评论 -
时间复杂度算法主定理
主要记住nlogba和f(n)的关系,即可,大于为情况1,等于为情况2,小于为情况3.T(n)=aT(n/b)+f(n)1) e>0, F(n)=O(nlogba-e),复杂度为T(n)=theta(nlogba):例如T(n)=9T(n/3)+ n, theta(n2)2) f(n)=theta(nlogba),复杂度为T(n)=theta(nl原创 2013-04-27 23:15:31 · 1116 阅读 · 0 评论 -
【面试中的】C语言实现字符串函数
C语言字符串函数实现源码汇总2008年05月18日 星期日 16:54 #include char * ___strtok = NULL; char * strcpy(char * dest,const char *src) { char *tmp = dest; while ((*dest++ = *src++) != '\0'原创 2013-04-27 23:09:25 · 703 阅读 · 0 评论 -
NAT之SNAT和DNAT
精彩待续原创 2013-10-21 12:08:18 · 4199 阅读 · 0 评论