
算法
文章平均质量分 72
giant7
这个作者很懒,什么都没留下…
展开
-
求从1到N中1的出现的数目
在很多书上都看到这个算法问题:给定一个十进制正整数N, 写下从1开始,到N的所有整数,然后数一下其中出现所有“1”的个数,即求f(N)。例如:N=2, 写下1,2,。 出现1个1;N=13, 我们写下:1,2,3,4,5,6,7,8,9,10,11,12,13,出现1个的个数是6.求解f(N)=N 的最大值?问题分解:1. 首先求原创 2012-04-20 11:53:37 · 1112 阅读 · 2 评论 -
字符串常见算法
1 怎样将整型数转化为字符串数,并且不用函数itoa? #include#include int main(void){int num=12345,j=0,i=0;char temp[7],str[7];while(num){temp[i]=num%10+'0';i++;num=num/10;}temp[i]=0;printf("t原创 2013-04-02 22:07:04 · 1160 阅读 · 0 评论 -
没有学位,他通过以下四步进入Google
摘要:没上过大学,没有学士、硕士、博士学位这块敲门砖也能在谷歌coding,前Googler David Byttow在博客上为我们讲述了他如何进入Google的故事。自从发表了坚持编程( ABC: Always Be Coding - How to Land an Engineering Job)这篇文章,很多人问我在没有学历的情况下怎么获得在谷歌工作的机会的。你通向成功之路转载 2013-05-28 18:14:09 · 1035 阅读 · 0 评论 -
《编程之美》简单算法小结
第一题: 1 的数目给定一个十进制正整数N, 写下从1开始,到N的所有整数,然后数一下其中出现所有“1”的个数,即求f(N)。例如:N=2, 写下1,2,。 出现1个1;N=13, 我们写下:1,2,3,4,5,6,7,8,9,10,11,12,13,出现1个的个数是6.求解函数f(N),即返回1 到N之间出现的 1 的个数,如f(13)=6.U原创 2013-04-25 21:47:07 · 1662 阅读 · 0 评论 -
微软面试题学习心得1
声明:这篇博客的某些题目和答案成果源自于July和何海涛的博客,网址:点击打开链接 点击打开链接本人只是针对自己情况,把感兴趣的题目都罗列出来;针对其他的题目(不是来自上面两位),写出了自己的算法,仅供自己慢慢学习和品味。如有问题,请在博客下面留言。1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建原创 2013-05-28 16:13:40 · 970 阅读 · 0 评论 -
微软等名企面试题4--二叉树专题
声明:这篇博客的某些题目和答案成果源自于July和何海涛的博客,网址:点击打开链接 点击打开链接本人只是针对自己情况,把感兴趣的题目都罗列出来;针对其他的题目(不是来自上面两位),写出了自己的算法,仅供自己慢慢学习和品味。如有问题,请在博客下面留言。1 题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路原创 2013-05-30 22:57:48 · 985 阅读 · 0 评论 -
微软等名企面试题3--字符串专题
声明:这篇博客的某些题目和答案成果源自于July和何海涛的博客,网址:点击打开链接 点击打开链接本人只是针对自己情况,把感兴趣的题目都罗列出来;针对其他的题目(不是来自上面两位),写出了自己的算法,仅供自己慢慢学习和品味。如有问题,请在博客下面留言。1 题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串原创 2013-05-30 22:52:06 · 805 阅读 · 0 评论 -
微软等名企面试 题2
声明:这篇博客的某些题目和答案成果源自于July和何海涛的博客,网址:点击打开链接 点击打开链接本人只是针对自己情况,把感兴趣的题目都罗列出来;针对其他的题目(不是来自上面两位),写出了自己的算法,仅供自己慢慢学习和品味。如有问题,请在博客下面留言。11 题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:这道题是2原创 2013-05-30 21:02:57 · 1127 阅读 · 0 评论 -
微软等名企面试题3
声明:这篇博客的某些题目和答案成果源自于July和何海涛的博客,网址:点击打开链接 点击打开链接本人只是针对自己情况,把感兴趣的题目都罗列出来;针对其他的题目(不是来自上面两位),写出了自己的算法,仅供自己慢慢学习和品味。如有问题,请在博客下面留言。原创 2013-05-31 23:11:55 · 980 阅读 · 0 评论 -
数据结构--图
图的邻接矩阵实现:#ifndef GRAPH_H //定义头文件#define GRAPH_H#include //引入标准库中的头文件using namespace std;const int MaxSize=12; //原创 2013-06-11 19:37:14 · 1351 阅读 · 0 评论 -
动态规划算法
以前在学习非数值算法的时候,曾经了解过动态规划算法(Dynamic programming),以下是对Wikipedia上动态规划的翻译,图也是Wikipedia上的,仓促行文,不到之处,请方家指正。这篇文章的术语实在是太多了,所以我在文中加入了少量注释,一律以粗斜体注明。本文的不足之处将随时修正,MIT的《Introduction to Algorithms》第15章是专门讲动态规划的。转载 2013-04-02 18:43:54 · 1560 阅读 · 0 评论 -
判断一个链表是否有环
1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:bool IsExi转载 2013-04-02 16:07:47 · 837 阅读 · 0 评论 -
排序算法
1.基本概念 1.1 稳定排序(stable sort)和非稳定排序 稳定排序是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,。反之,就是非稳定的排序。比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变成a1,a4,原创 2012-04-30 17:30:54 · 791 阅读 · 0 评论 -
字符串倒置
将一句话里面的单词进行倒置,标点符号不倒换,比如一句话“ I love you!" 。 倒换后变成了” you! love I" 。算法思想: 第一: 将字符串全盘倒置为:“ !uoy evol I ", 第二: 进行部分翻转,如果不是空格,则开始翻转单词。#include#include#define MAX 20int main(void)原创 2012-04-20 09:46:25 · 1287 阅读 · 0 评论 -
设计hafuman 编码器与解码器 C++实现
这是本人在本科阶段的哈弗曼树的代码实现。设计hafuman 编码器与解码器问题描述:利用哈夫曼编码进行信息通讯可以大大提高信道的利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码;在接受端将传来的数据进行译码。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站编写一个哈夫曼码的编/译码系统。基本要求原创 2012-04-20 13:11:00 · 2767 阅读 · 0 评论 -
史上最全 求一个整数二进制形式中 1 的个数所有算法---未完待续
方法1:采用移位操作完成。int count_one_bits(int value){int ones;for(ones=0;value!=0;value=value>>1){if(value % 2 !=0){ones=ones+1;}}return ones;}方法2:移位操作2,if判断条件不同int count_one_bits(int v原创 2012-05-28 16:35:58 · 1005 阅读 · 1 评论 -
将从1到n*n的n的平方个数,按顺时针方向从小到大排列成阵列
将从1到n*n的n的平方个数,按顺时针方向从小到大排列成阵列,怎么做?如n=4则效果图:1, 2, 3,412,13,14,5 11,16,15,6 10,9, 8, 7 #include #include int n=4;int a[4][4];int getlevel(int n){ double n1=n; double lev原创 2012-05-09 21:51:07 · 1432 阅读 · 0 评论 -
红黑树与平衡二叉树的区别
我在网上查找了很多关于红黑树与二叉树的区别,但是只得到了如下的结论:红黑树和之前所讲的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。之前原创 2012-04-22 22:35:07 · 7916 阅读 · 6 评论 -
二叉树的常见问题总结--持续更新中
二叉树的常见问题有如下几个,如果解决好了,就跟链表一样轻松:唯一不一样的是,二叉树是非线性结构。常见的问题如下:二叉树的问题.二叉树三种周游(traversal)方式: 2.怎样从顶部开始逐层打印二叉树结点数据 3.如何判断一棵二叉树是否是平衡二叉树4.设计一个算法,找出二叉树上任意两个节点的最近共同父结点,复杂度如果是O(n2)则不得分。转载 2012-07-15 10:44:12 · 1072 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
出处:http://blog.youkuaiyun.com/v_JULY_v 。 第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查转载 2012-05-09 21:46:07 · 4598 阅读 · 0 评论