
数据结构 - 反复学习
文章平均质量分 66
Nucky_
突出一个控制
展开
-
已知二叉树的前序遍历中序遍历,求后序遍历
这个代码写得确实有点屌,值得反复学习出处:http://blog.youkuaiyun.com/feliciafay/article/details/6816871一道HULU的笔试题(How I wish yesterday once more)假设有棵树,长下面这个样子,它的前序遍历,中序遍历,后续遍历都很容易知道。PreOrder:转载 2015-01-27 15:30:51 · 2460 阅读 · 0 评论 -
Dijkstra 算法寻找最短路径 较简易
反正觉得比书上的代码简单多了主要的一些核心代码还是参考上一篇博客的,觉得那篇的Dij写的不错,值得细细品味注释的话看上篇博客,vim不知道怎么注释#includeusing namespace std ;const int maxint = 999 ;const int maxnum = 100 ;int dist[maxnum] ;int pre[maxnum] ;原创 2015-03-04 20:12:48 · 842 阅读 · 0 评论 -
这篇dijkstra算法写得比书上简单
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设置顶转载 2015-03-03 21:42:29 · 625 阅读 · 0 评论 -
用回溯法走迷宫,较简易代码
这应该算是第一份回溯写迷宫的代码,寒假写的时候出了点小毛病一直显示找不到路径,连续几天都没有思绪,后面来学校在学霸的帮助下发现了原因在main函数里定义了offset数组,在外面又同时定义了一个数组,结果在seekpath函数里面调用的是外面定义的那个,外面定义的没赋值。。结果就一直。。#include#includeusing namespace std ;const int m =原创 2015-03-03 10:36:35 · 1643 阅读 · 0 评论 -
dijkstra 最短路径算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设原创 2015-02-16 13:37:06 · 2247 阅读 · 0 评论 -
Prim算法和Kruskal算法
转载地址:http://blog.youkuaiyun.com/believejava/article/details/17414037 Prim算法和Kruskal算法都能从连通图找出最小生成树。区别在于Prim算法是挨个找,而Kruskal是先排序再找。 一、Prim算法: Prim算法实现的是找出一个有权重连通图中的最小生成树,即:具有最小权重且连接转载 2015-02-12 20:12:16 · 584 阅读 · 0 评论 -
DFS BFS 示例 以及BFS部分算法代码
上一篇写了DFS的邻接矩阵和邻接表的,这篇再写一下BFS的先大概讲一下BFS , 全名广度优先搜索,没有回溯和探查,逐层遍历,采用队列实现先访问当前顶点v, 然后访问v的各个未被访问过的邻接顶点,然后在一次访问v的各个邻接顶点的未被访问的邻接顶点代码实现如下 :void BFS (Graph &G , int v ) { int i , w , n = G.Number(); /原创 2015-02-07 16:53:35 · 1406 阅读 · 0 评论 -
DFS分别用邻接矩阵和邻接表访问
之前写的那份是用邻接矩阵访问的,最近在复习数据结构,决定把邻接表的也写上来邻接矩阵的看这里 : http://blog.youkuaiyun.com/hhooong/article/details/41761621邻接表 :(写关键部分的算法) void DFS (Graph &G, int v ,bool visit[]) { cout << G.getValue(v) << end原创 2015-02-07 16:05:00 · 989 阅读 · 0 评论 -
八皇后回溯递归 40行不到
个人感觉代码还算精简,比较容易混淆的一点是,board[] 数组,数组下表指的是八皇后棋盘的行,数组下标对应的值指的是八皇后棋盘的列,至于abs()可以去百度,是一个求绝对值的函数原创 2015-01-31 22:34:49 · 843 阅读 · 0 评论 -
已知二叉树的中序遍历和后序遍历,求先序遍历
可以跟之前这篇形成对比http://blog.youkuaiyun.com/hhooong/article/details/43195395代码如下:#include#includeusing namespace std ;struct BinTreeNode { char data ; BinTreeNode *left ; BinTreeNode *right ;};voi原创 2015-03-21 22:16:20 · 939 阅读 · 0 评论