
算法
文章平均质量分 88
明何
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
展开
-
【二叉查找树】c实现
二叉查找树虽然不是很复杂,练练手还是不错的。#include #include //一棵n节点二叉查找树的期望高度h = log(n)struct node{ node *parent; node *left; node *right; int key;};struct tree{ node *root;};node原创 2012-05-05 01:46:14 · 916 阅读 · 0 评论 -
背包笔记-含0/1背包问题、完全背包问题、多重背包问题、二维背包问题、分组背包问题
根据背包⑨讲自己做的一些笔记,做到后面就不太懂了黏贴过来就看不到图了,提供pdf文档下载。还是建议看PDF文档http://download.youkuaiyun.com/detail/wearenoth/56120790-1背包问题问题描述 物品数量为N,背包容量为V。第i件物品费原创 2013-06-18 19:46:15 · 6762 阅读 · 1 评论 -
算法学习笔记——函数调用、递归以及栈-part 1
学习算法时整理的一些笔记,篇幅有些大,所以干脆分成几个独立的部分上传了,因为只是简单复制,所以图片和公式不能显示,所以提供Word文档下载地址,Word文档下载地址:http://download.youkuaiyun.com/detail/wearenoth/60223391 函数调用、递归以及栈 调试一个程序,底部最经常看的两个窗口就是“局部变量”与“调用原创 2013-08-27 21:24:04 · 5926 阅读 · 0 评论 -
算法学习笔记——动态规划 - part3
本部分主要是学习动态规划的一些笔记全文下载地址:http://download.youkuaiyun.com/detail/wearenoth/60223391 分治法与动态规划 分治法的思路是将大问题分成若干子问题,依次求解,最后合并解的答案。但是分治法并没有说明应该划分成什么样的子问题,毕竟这不是意见容易的事情。 在分治法能够分解的问题中,有一类原创 2013-08-27 21:33:15 · 4699 阅读 · 0 评论 -
二叉树代码实现笔记
二叉树定义节点class Node {public: int key; struct Node *l; struct Node *r; Node(int _key): l(NULL), r(NULL), key(_key) {}};二叉树上一个节点,最少需要三个属性,一个用于表示节点编号的key值,一个指向左子节点的指针、一个指向右子节点的指针。原创 2013-08-31 13:48:58 · 4160 阅读 · 0 评论 -
最长公共子序列(LCS)问题分析
最长公共子序列(LCS)网上的资料很多,而且也可以算是动态规划里面的一个基本问题,它体现了许多动态规划的特性,算法导论这本书也给出了很详细的说明。要写好动态规划其实还是有些难度,网上也很多相关的资料,这里我也就只是想写一篇自己个人的笔记,整理下自己学的一些东西。问题描述输入:对于一个字符串(序列),将其中若干个字符(元素)去除后剩余的字符串(序列),我们称之为子序列(注意:子序原创 2013-11-12 22:55:51 · 4995 阅读 · 0 评论 -
字典树编写笔记
试着写了下字典树,发觉这玩意别的不说,拿来作为递归练习真心有用,中间各种细节也是想了很久,代码实现的很简陋,而且还有很大的优化空间,以后再补充了定义节点头文件#ifndef TRIENODE_H#define TRIENODE_H#include #include #include using namespace std;static const int原创 2013-11-03 17:14:20 · 3700 阅读 · 0 评论 -
字符串全排列问题分析
今天晚上和一个同学讨论了下字符串全排列的问题,发现了一些自己没有发现过的点,感觉这个问题虽然简单,但是其实要写的漂亮,其实还是有一些难度,要解决整个问题需要经历的分析过程其实还是挺漫长的。所以就做一个小结,把一些其他的知识点也串上,讲讲我是如何去分析这个问题的。问题描述字符串全排列问题输入:一个非空字符串,例如“abc”,“a”,“abcdefg”。输出:这个字符串所有不重原创 2013-11-11 03:13:45 · 5050 阅读 · 1 评论