学校数据结构的课程实验之一。数据结构:(其实只用了一个二维数组)算法:深度优先搜索,试探回溯需求分析: 设计一个在控制台窗口运行的“n皇后问题”解决方案生成器,要求实现以下功能: 由n*n个方块排成n行n列的正方形称为n元棋盘。如果两个皇后位于n元棋盘上的同一行、同一列或同一对角线上,则称它们在.....
分类:
其他好文 时间:
2015-04-14 23:08:11
阅读次数:
255
题目链接:Same Tree
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value....
分类:
其他好文 时间:
2015-04-14 21:41:41
阅读次数:
140
题目链接:Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST).
Assume a BST is defined as follows:
The left subtree of a node contains only nodes with ...
分类:
其他好文 时间:
2015-04-14 21:41:20
阅读次数:
118
题目链接:Recover Binary Search Tree
Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:
A solution using O(n) space is pretty stra...
分类:
其他好文 时间:
2015-04-14 21:39:52
阅读次数:
189
抓住那头牛(POJ3278)农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0#include#include#includeusing namespace std;#define MAX_SIZE 10000//查询最大的范围int visited[MAX_SIZE];/...
分类:
其他好文 时间:
2015-04-14 19:22:13
阅读次数:
115
在 看 严蔚敏的 数据结构 一书 7.5小节时,书上 说“ 判断有向图是否存在环要不无向图复杂。对于无向图来说,深度优先遍历过程中遇到回边(即指向已访问过的顶点的边),则必定存在环路”。 看的不明白,所以 网上 百度了一下。
有了思路:故写下算法 和思路,以便以后 温故。
思路:
1.一个n个顶点,e条边的 无向图,若 e>= n,必有环路。
2.若 e 如果 遇到 一个 节点 被访问过 ...
分类:
其他好文 时间:
2015-04-13 16:48:02
阅读次数:
172
图的深度优先遍历 和 广度 优先 遍历 算法中的 每一次 最外层 循环 都 产生 一个 无向图 的 连通分量,每一个连通分量,都可以产生一个生成树,将这些生成树合在 一起 就是 一个 森林。 用 树的 孩子 兄弟 链表 表示法 来 表示 这个 森林, 就是 这一节 算法的 内容。
深度优先森林 代码 :
//深度优先生成森林
void dfsTree(AMLGraph g,int i,Tre...
分类:
其他好文 时间:
2015-04-12 09:13:11
阅读次数:
124
01背包式最简单的背包问题,书上是由深度优先搜索的记忆化搜索的递归实现到处递推的解决方法就是01背包,把所有i和j的情况都记下来,总共不过n*v种情况。
而01背包之2是简单01背包变换对象之后的做法。
题目描述如下:
有n个价值和花费分别为weight[i]和cost[i]的物品,把这些物品装进容量为V的背包中,求最大价值?
但是现在条件是:V<=109,weight[i]<100,n<1...
分类:
其他好文 时间:
2015-04-11 14:51:58
阅读次数:
129
求一棵树的最大深度 思路:广度优先搜索即可 class Solution {public: int maxDepth(TreeNode *root) { int depth = 0; if (!root) return depth; queue nodeQue; nodeQue.push(root)...
分类:
其他好文 时间:
2015-04-11 11:38:05
阅读次数:
117
回溯法又称试探法。回溯法的基本做法是深度优先搜索,是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。当我们遇到某一类问题时,它的问题可以分解,但是又不能得出明确的动态规划或是递归解法,此时可以考虑用回溯法解决此...
分类:
其他好文 时间:
2015-04-10 17:22:39
阅读次数:
110