自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 图的应用

图的应用:…最小生成树:(Minimum-Spanning-Tree, MST)**定义:**设R为G的所有生成树的集合,若T为R中边的权值之和最小的那棵生成树, 则 T 称为 G 的最小生成树。特点:①最小生成树不是唯一的,即最小生成树的树形不唯一,R中可能有多个最小生成树。②最小生成树的边的权值之和总是唯一的。③最小生成树的边数为顶点数减 1。普里姆(Prim)算法:算法思想...

2019-10-18 23:05:52 117

原创 求两个整数集合A和B的差集,A与B的元素存储在单链表中。把结果存储在A中。

#include<stdio.h> struct node{ int elem; struct node* next;}; void difference(node** LA,node* LB) //LA为指向集合A的指针的指针{ node*pa,*pb,*pre,*q; pre=NULL; pa=*LA; /...

2019-10-15 21:42:10 525

原创 图的遍历(BFS与DFS)

图的遍历:广度优先搜索(Breadth-First-Search)(类似树的层序遍历)基本思想是: 首先访问起始顶点 v,接着由 v 出发,依次访问 v 的各个未访问过的邻接顶点,然后再依次访问所有未被访问过的邻接顶点,再从这些访问过的顶点出发,再访问它们所有未被访问过的邻接顶点……依次类推,直到图中所有顶点都被访问过为止。类似的思想还将应用于 Dijkstra 单源最短路径算法和 Pr...

2019-10-15 10:52:55 516

原创 图结构的存储

图的结构:**图:**图G是由顶点集V和边集E组成。G=(V,E) V={v1,v2…} E={(u,v) …} |E|为边的条数。图的阶:V={v1,v2…} |V|为顶点的个数也叫做图的阶。线性表可以为空表,树可以为空树,但图不可以为空图,顶点集一定非空,边集可以为空。**有向图:**边是顶点的有序对E={<1,2>…}**无向图:**边是顶点的无序对E...

2019-10-14 20:29:54 307

原创 散列结构的查找

散列结构的查找:散列函数:一 个把查找表中的关键字映射成该关键字对应的地址的函数,记为Hash(key)=Address。冲突:散列函数可能会把两个或两个以上的关键字映射到同一地址。散列表:根据关键字直接进行访问的数据结构,对散列表的查找的时间复杂度为O(1)。散列函数的构造:要求:①散列函数的定义域必须包括所有的要储存的关键字,而值域范围依赖于散列表的大小或地址范围。②散列函数计算...

2019-10-14 11:40:44 311

原创 树形结构的查找

树形结构的查找二叉排序树(Binary Sort Tree)BST定义:二叉排序树要么是一棵空树要么是一棵具有如下特性的二叉树:①左子树非空,左子树的关键字都小于根节点的关键字。②右子树非空,右子树的关键字都大于根节点的关键字。③左右子树本身也是一棵二叉排序树。对排序二叉树的中序遍历可以得到一个递增的有序序列。Bsnode*bst_search(bitree T, elemtype ...

2019-10-14 09:48:20 2492

原创 线性结构的查找

线性结构的查找查找操作: ①查找一个数据是否在查找表中。②查找一个数据的其他属性。③对查找表进行插入与删除操作。(动态查找表)查找算法的优劣: 平均查找长度ASL。…顺序查找法:int search_seq(seq st, elemtype key){ st.elem[0]=key; //哨兵,目的可以不用判断是否越界,使代码简洁。 for(int i=n; st.el...

2019-10-13 17:00:19 290

原创 归并排序和基数排序

二路归并排序将待排序列分为左右两个子序列,分别递归进行排序。void mergesort(elemtype A[], int low, int high){ if(low<high) { int mid=(low+high)/2; mergesort(A[],low,mid-1); mergesort(A[],mid+1,high); merge(A[],low,...

2019-10-11 14:54:04 188

原创 选择排序

选择排序简单选择排序void simpleselect(elemtype A[],int n){ for(i=1; i<=n-1; i++) //需要选择n-1次,找到n-1个最小值 { min=i-1; //初始的最值暂定为i-1 for(j=i; j<=n-1; j++) //从第i个开始遍历剩下的n-i个数 i...

2019-10-11 11:22:18 89

原创 交换排序

交换排序定义:根据两个关键字的比较结果来对换两个关键字在待排序列中的位置冒泡排序:void bubblesort(elemtype A[], int n)//冒泡排序{ int m,j,flag;// m表示排序趟数,j表示比较次数,flag表示是否发生了交换,即待排序列已有序。 for(m=1; m<=n-1&&flag=1; m++)//排序n-1趟且发生了交...

2019-10-09 13:45:26 166

原创 插入排序

插入排序定义:给定A[n]待排序序列,按关键字下标顺序从小到大,一个一个插入到之前已经按关键字顺序排列好的子序列中。直接插入排序void insertsort(elemtype A[],int n)//直接插入排序{ int i,j; //i代表插入的是第几个关键字,j表示最后一个小于该关键字的位置 for(i=2;i<=n;i++)//第一个关键子不需要排序...

2019-10-08 20:00:00 95 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除