2011年7月28日

最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)

摘要: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组di 阅读全文

posted @ 2011-07-28 12:57 原来... 阅读(827) 评论(0) 推荐(0) 编辑

二叉树的创建及各种遍历

摘要: #include"stdio.h"#include"string.h"#include<stdlib.h>#include<malloc.h>//#include<system>#define Max 20 /*结点的最大个数*/typedef struct node{ char data; struct node *lchild,*rchild;}BinTNode; /*自定义二叉树的结点类型*/typedef BinTNode *BinTree; /*定义二叉树的指针*/int NodeNum,leaf; /*No 阅读全文

posted @ 2011-07-28 11:46 原来... 阅读(560) 评论(0) 推荐(0) 编辑

二叉树层次遍历

摘要: //二叉树层次遍历算法#include <stdio.h>#include <malloc.h>#define MaxSize 1000typedef char ElemType; typedef struct node { ElemType data; struct node *lchild; struct node *rchild;} BTNode;//创建二叉树void CreateBTNode(BTNode *&b,char *str){ BTNode *St[MaxSize],*p=NULL; int top=-1,k,j=0; char ch; b= 阅读全文

posted @ 2011-07-28 11:40 原来... 阅读(837) 评论(0) 推荐(0) 编辑

C/C++返回但其执行行和文件名

摘要: #include<iostream>using namespace std;int main(){int line=__LINE__;char *file=__FILE__;cout<<line<<endl<<file<<endl;return 0;} 阅读全文

posted @ 2011-07-28 09:09 原来... 阅读(224) 评论(0) 推荐(0) 编辑

导航