编程之美---读书笔记
xiaozhuaixifu
这个作者很懒,什么都没留下…
展开
-
编程之美---中国象棋将帅问题
题目链接:http://www.msra.cn/Articles/ArticleItem.aspx?Guid=4c86d636-04bb-4ad9-b0bc-4c3496d18021#. 给出c++实现的简单代码: #include #include using namespace std; const unsigned char fullmark=255; //11111111 con原创 2013-07-06 21:40:12 · 1361 阅读 · 0 评论 -
编程之美----高效率地安排见面会----贪心策略
每一个面试是一个整数的闭区间【Bi,Ei】表示开始时间和结束时间,有N个面试要进行,求最少的面试点。 思路:按开始时间排序,使用贪心策略,每一个面试使用一个最小的正整数k来表示可行的颜色,当然如果重叠了就必须使用一个新的颜色。 c++实现: #include #include #include using namespace std; struct meeting{ int b,e;原创 2013-07-07 20:37:48 · 1473 阅读 · 0 评论 -
编程之美---子数组之和的最大值(二维)
避免使用暴力枚举的方法,我们参考一维数组的求法,一维的解答可以再线性时间 内完成,具体可以参考我的编程珠玑读书笔记。 我们把问题从二维转坏为一维,现在我们枚举矩阵的上下边界,然后用一维的方法确定左右边界,时间复杂度为O(N^2*M)。 #include #include using namespace std; const int maxn=505; int matrix[maxn][ma原创 2013-07-14 22:23:47 · 920 阅读 · 0 评论 -
编程之美---快速寻找满足条件的两个数---扩展问题
现在有N个取值在1~5000的整数序列,现在我任意给出一个数X,求出在N个数列中和为X的所有组合。 比如: N=10个数列:1 2 3 3 9 5 100 50 30 15 X=10 满足条件的组合:A、2 3 5 B、1 9 这是一个典型的 Sub-set-Sum问题,NP-C问题,这里没有高效的解法,暂时只想到了暴力DFS。如果不输出解的话可以考虑动态规划。 #inclu原创 2013-07-14 20:11:58 · 1538 阅读 · 0 评论 -
编程之美读书笔记---计算字符串的相似度
使用递归实现,但是计算了重复的子问题,所以采用记忆化方法,将子问题的解保存在一个数组里。 #include #include #include #include using namespace std; int ans[100][100][100][100]; int mmin(int a,int b,int c) { a=a<b?a:b; a=a<c?a:c; return a;原创 2013-07-17 21:13:29 · 921 阅读 · 0 评论 -
编程之美读书笔记---单链表反序---要求只遍历一次
扩展问题: 编写一个函数,给定一个链表的头指针,要求只遍历一次,将单链表中的元素顺序反序。 #include #include #include #include using namespace std; struct node{ int data; node *next; }; void reverselist(node* &head) { node *p,*q; p=hea原创 2013-07-18 14:03:54 · 1226 阅读 · 0 评论 -
编程之美读书笔记---分层遍历二叉树
层序遍历一颗二叉树。给定一颗二叉树如下: 输出结果: 1 2 3 4 5 6 7 8 给出书上的两种实现: #include #include #include using namespace std; struct node{ int data; node* left; node* right; }; void creattree(node* &root) { r原创 2013-07-20 13:28:57 · 1024 阅读 · 0 评论 -
重建二叉树---根据前序和中序遍历结果重建二叉树
一颗二叉树: 前序遍历结果: abdcef 中序遍历结果:dbaecf 基于递归的思想:在前序遍历中的第一个结点是根结点,然后在中序遍历中找到此根节点,然后递归的对左右子树分别重建。 顺说一下,知道前序和后序遍历结果,我无法重建二叉树的,因为当某个结点只有一个儿子结点的时候,无法区分出到底是左还是右结点。 #include #include using namespace std;原创 2013-09-01 09:50:24 · 1093 阅读 · 0 评论