代码改变世界

编程之美-分层遍历二叉树

2013-08-29 03:44 by youxin, 1759 阅读, 0 推荐, 收藏,
摘要:问题1:给定一颗二叉树,要求按分层遍历该二叉树,即从上到下按层访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号,那么分层变量如图的二叉树:输出应为: 输出: 1 2 3 4 5 6 7 8问题2:写另外一个函数,打印二叉树中某层次的节点(从左到右),其中根节点为 阅读全文

转:PAT练习题概览

2013-08-29 01:32 by youxin, 708 阅读, 0 推荐, 收藏,
摘要:AT(pat.zju.edu.cn)是一个面向 C/C++程序的 Online Judge 系统。相比 ZOJ,HDOJ,POJ 等 ACM 题库,PAT 的题目非常基础,对于数据结构、算法的入门是比较有助益的。本文按照自己的认识,给 PAT advanced level 做出了分类。由于很多题目实际上兼顾有多种解法和思路,我给每道题打上了 tag,来应对分类的独占性局限,供大家参考。简单题这类题几乎不需要数据结构、算法基础,主要通过简单的逻辑流程和判断实现。1001 A+B1002 多项式相加1005 简单 hash1006 选极值1008 模拟电梯1009 多项式乘法1011 选极值101 阅读全文

编程之美--重建二叉树

2013-08-29 01:17 by youxin, 2907 阅读, 1 推荐, 收藏,
摘要:给定一个前序和中序变量的结果,写一个算法重建这棵树:如:前序: a b d c e f中序: d b a e c f前序遍历的每一个节点,都是当前子树的根节点,同时,以对应的节点为边界,就会把前序遍历的结果分为左子树和右子树。a是前序中第一个节点,以a为中界,把中序的结果分成:左:db右:ecf对于db,由于在前序中b在d前面,所以,b是d的父亲。对于ecf,前序中c在前面,c为父亲,c把e和f分开。代码:#include#include#includeusing namespace std;typedef struct Node{ Node* left; Node* right;... 阅读全文

STL deque详解

2013-08-27 22:34 by youxin, 2065 阅读, 0 推荐, 收藏,
摘要:英文原文:http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container绪言这篇文章深入的角度认 识 STL deque 容器。这篇文章将讨论一些有关deque的情况,比如在何种情况下你可以用... 阅读全文

转:详细解说 STL 排序(Sort)

2013-08-27 21:31 by youxin, 281 阅读, 0 推荐, 收藏,
摘要:详细解说 STL 排序(Sort)详细解说 STL 排序(Sort)作者Winter详细解说 STL 排序(Sort)0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法1.1 所有sort算法介绍1.2 sort 中的比较函数1.3 sort 的稳定性1.4 全排序1.5 局部排序1.6 nth_element 指定元素排序1.7 partition 和stable_partition2 Sort 和容器3 选择合适的排序函数4 小结5 参考文档一切复杂的排序操作,都可以通过STL方便实现!0 前言: STL,为什么你必须掌握对于程序员来说,数据结构是必修的一门课。从查找到排序 阅读全文

动态规划解背包问题

2013-08-27 21:05 by youxin, 1394 阅读, 0 推荐, 收藏,
摘要:这个问题也可以用动态规划的分阶段决策方法,来确定把哪一个物体装入背包的最优决策,假定背包的载重量范围是0-m,类似资源分配那样,另optpi[j]表示在前i个物体中,能够装入重量为i的背包的物体的最大价值,j=1,2,3.......m.显然,此时在前i个物体中,有些物体可以装入背包,有些物体不能装入背包。于是,可以得到下面的动态规划函数:6.6.1表面:把前i个物体装入载重量为0的背包,或把0个物体装入载重量为j的背包,得到的价值都是0.6.6.2表面:如果第i个物体的重量大于背包的载重量,则等于optp[i-1][j].如果j>=wi.optp[i-1](j-wi)+pi 表面:当第 阅读全文

[转载] 递归问题整理

2013-08-27 19:01 by youxin, 612 阅读, 0 推荐, 收藏,
摘要:不敢说是总结,就是把自己看到的一些递归相关题目整理一下,并按照自己的理解归下类~单路递归(一个递归过程中只有一个递归入口)多路递归(一个递归过程中有多个入口)间接递归(函数可通过其他函数间接调用自己)迭代递归(每次递归调用都包含一次循环递归)下面一一整理,注意许多题目都有更优解法,如DP,但是暂不讨论。先说说解递归的一般思路吧,把原问题分解为更小的子问题,再从子问题里慢慢寻找原问题的解。实际上递归是一种思路,解题时首先列出递归表达式,然后用程序语言的方式把他表现出来。往往递归都可转化为循环或者模拟调用栈来实现,但是递归表达更利于理解。一,单路递归(递归链)1,求n的阶乘(经典实例)intfac 阅读全文

有向图的强连通分量求法

2013-08-27 16:01 by youxin, 363 阅读, 0 推荐, 收藏,
摘要:http://bbs.sjtu.edu.cn/bbscon,board,Algorithm,file,M.1195274349.A.html 阅读全文

素数检测

2013-08-27 15:56 by youxin, 179 阅读, 0 推荐, 收藏,
摘要:http://blog.codinglabs.org/articles/prime-test.htmlhttp://blogread.cn/it/article/5754 阅读全文

链表反转(逆序)

2013-08-27 15:54 by youxin, 1034 阅读, 0 推荐, 收藏,
摘要:在O(1)时间内删除某个节点:http://www.cnblogs.com/youxin/p/3294152.html链表逆序(反转)可以参考以前写的:4中方式逆序输出链表:http://www.cnblogs.com/youxin/archive/2012/06/01/2531000.html)http://blog.sina.com.cn/s/blog_9599e9510101349g.htmlgoogle题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:structListNode{intm_nKey;ListNode* m_pNext;};分析:这是一 阅读全文
上一页 1 ··· 135 136 137 138 139 140 141 142 143 ··· 269 下一页