基本算法
Y_23k_bug
这个作者很懒,什么都没留下…
展开
-
基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
二分法查找算法:#includeusing namespace std; int binarysearch(int * a,int n,int num); int main(){ inta[5]={9,8,5,7,3}; for(inti=0;i for(intj=i+1;j原创 2013-07-25 09:53:47 · 3259 阅读 · 2 评论 -
图存储结构—邻接表实现
#include#includeusing namespace std;#define MAX_VEX 50template //邻接表的链表结构struct LNode{int Index;LNode *next;LNode():Index(0),next(NULL){}};templat原创 2013-08-10 01:20:02 · 1063 阅读 · 0 评论 -
c++ 实现图的存储结构—邻接矩阵
#include#includeusing namespace std;#define Max_Vex 256templateclass MatUnDirectedGraph{public:MatUnDirectedGraph(){num=5;VNodes=new VNode[num];nodecount=0;edgeco原创 2013-08-09 20:33:08 · 1909 阅读 · 0 评论 -
图的存储结构-邻接多重表、边集数组
图的存储结构: 如果我们在无向图的应用中,关注的重点是顶点的话,那么邻接表是不错的选择,但是我们关注的是边的操作,比如对已经访问过的边做标记,或者删除某一条边等操作,邻接表就显得不那么方便了。 图解:若要删除(v0,v2)这条边,就需要对邻接表结构中边表的两个节点进行删除操作。相对操作比较麻烦! 因此,也仿照十字链表的方式,对边表结构进行改装,重新定义的原创 2013-08-08 21:58:40 · 2255 阅读 · 0 评论 -
图的存储结构—十字链表
图的存储结构: 邻接表虽然很好,但也有不足,列如对有向图的处理上,有时候需要在建立一个逆邻接表。默认的邻接表是关注的顶点的出度和弧尾的,如果我们要关注有向图顶点的入度和弧头,我们就需要在建立个逆邻接表了。 所以,有没有可能把邻接表和逆邻接表结合起来呢? 十字链表: 为此我们要重新定义顶点表节点结构: Data原创 2013-08-08 20:20:51 · 1641 阅读 · 0 评论 -
八皇后问题—递归实现
#includeint count=0;int notDanger(int row,int j,int (*chess)[8]){int i,k,flag1=0,flag2=0,flag3=0,flag4=0,flag5=0;//判断列方向for(i=0;i{if(chess[i][j]!=0){flag1=1;break;}}原创 2013-08-09 02:41:45 · 1008 阅读 · 0 评论 -
约瑟夫问题简单实现-循环链表
#include#includetypedef struct node{int data;struct node * next;}node;node * create(int n){node *p=NULL,*head;head=(node*)malloc(sizeof(node));p=head;node * s;原创 2013-08-07 15:31:00 · 851 阅读 · 0 评论 -
魔术师发牌问题简单实现-循环链表
#include#include#define CardNumber 13typedef struct node{int data;struct node *next;}sqlist,*linklist;//创建13个节点的循环链表linklist createLinkList(){linklist head=NULL;li原创 2013-08-07 16:27:43 · 1196 阅读 · 0 评论 -
哈夫曼树与哈夫曼编码
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结转载 2013-07-26 10:25:42 · 5909 阅读 · 1 评论 -
图的存储结构—邻接矩阵、邻接表
图的存储结构: 图的存储结构相比较线性表与树来说就复杂很多。 对于线性表来说,是一对一的的关系,所以用数组或者链表均可简单存放。树结构是一对多的关系,所以我们就将数值和链表的特性结合在一起才能更好的存放。 那么图,是多对多的情况,另外图上的任何一个顶点都要可以被看作是第一个顶点,任一顶点的邻接点之间也不存在次序关系。 因为任意两个顶点之间原创 2013-08-08 15:59:24 · 1956 阅读 · 0 评论