自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lzw刘仔很忙的博客

一起学习一起进步

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

转载 图 邻接链表法

邻接链表法基本思想:对图的每个顶点建立一个单链表,存储该顶点所有邻接顶点及其相关信息。每一个单链表设一个表头结点。第i个单链表表示依附于顶点Vi的边(对有向图是以顶点Vi为头或尾的弧)。1结点结构与邻接链表示例链表中的结点称为表结点,每个结点由三个域组成,如图(a)所示。其中邻接点域(adjvex)指示与顶点Vi邻接的顶点在图中的位置(顶点编号),链域(nextar

2017-12-31 18:42:51 5152

转载 冒泡排序Bubble sort

经典排序算法 - 冒泡排序Bubble sort原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子例子为从小到大排序,原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |第一趟排序(外循环

2017-12-31 13:30:44 143

转载 最小生成树–Prim算法&Kruskal算法

最小生成树Prim算法Kruskal算法Prim算法算法描述矩阵描述具体例子代码思路代码实现Kruskal算法算法描述代码设计并查集代码实现一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。(

2017-12-30 22:02:32 171

转载 希尔排序

希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。该方法因DL.Shell于1959年提出而得名。希尔排序的基本思想是:把记录按步长 gap 分组,对每组记录采用直接插入排序方法进行排序。随着步长逐渐减小,所分成的组包含的记录越来越多,当步长的值减小到 1 时,整个数据合成为一组,构成一组有序记录,则完成排序。我们来通过演示图,更

2017-12-30 21:49:27 169

转载 秒懂插入排序与选择排序

插入排序原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序核心:假设第一个元素排好,之后的元素对排好的部分从后向前比较并逐一移动。插入排序实现:[cpp] view plain copyvoid insertion_sort(int a[], int n)

2017-12-30 21:37:15 256

转载 二叉树前序,中序,后序遍历详解

只要是搞计算机的,对数据结构中二叉树遍历都不陌生,但是如果用到的机会不多那么就会慢慢淡忘,温故而之新才是最好的学习方式,现在就重新温习一下这方面的知识。首先我想先改变这几个遍历的名字(前根序遍历,中根序遍历,后根序遍历);前中后本来就是相对于根结点来说的,少一个字会产生很多不必要的误解。  1. 前根序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。AB

2017-12-30 20:56:57 199

转载 堆排序 Heap Sort

堆排序是一种选择排序,其时间复杂度为O(nlogn)。堆的定义  n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。  情形1:ki 2i 且ki 2i+1 (最小化堆或小顶堆)  情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆)  其中i=1,2,…,n/2向下取整;      

2017-12-30 20:50:40 150

转载 二叉树的二叉链表表示

链式存储结构    二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。其结点结构为:  其中,data域存放某结点的数据信息;lchild与rchild分别存放指向左孩子和右孩子的指针,当左孩子或右孩子不存在时,相应

2017-12-30 16:28:21 13935 2

转载 散列表(哈希表)

散列表 又叫 哈希表 (hash table)。通过访问key而直接访问存储的value值。它的key - value之间存在一个映射函数,我们可以通过key值和“看不到”的映射函数(散列函数)访问对应的value值。这加快了查找的速度!存放记录的数组称做散列表。散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。它不以关键字的比较为基本操作,采用直接寻址技术 (就是说,它是直接通过

2017-12-30 10:36:30 638

转载 有向图和无向图用邻接矩阵储存

般存储图的方式有两种:一是用邻接矩阵表示,二是用邻接链表。所谓用邻接矩阵,是用一个二维数组存储,边使用矩阵来构建模型,这使得每一个顶点和其它顶点之间都有边的有无 的 表示的机会。若有边,则他们交点 为1 ,否则为0。当然,如果是一副边有权值的图,交点存储的是他们边的权值。1、首先收一下无向图的存储:无向图的边的矩阵一定是一个对称矩阵,因为无向图只关心边是否存在,而不

2017-12-29 21:27:14 6174

转载 邻接矩阵无向图

邻接矩阵 无向图和有向图在邻接矩阵中的表示方法: 无向图和有向图大同小异,在这里只以无向图为例,代码部分通过简单调整即可对应编译有向图邻接矩阵数据类型定义#define MaxVertices 100 //定义最大容量typedef struct{ //包含权的邻接矩阵的的定义 int Vertices[MaxVertices]; //顶点信息的数组

2017-12-29 21:15:58 8203

转载 哈夫曼树

什么是哈夫曼树?让我们先举一个例子。判定树:        在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来: [cpp] view plain copyi

2017-12-29 20:53:34 38547 9

转载 归并排序

归并排序(Merge Sort)   (1)算法思想             归并排序采用了分治策略(divide-and-conquer),就是将原问题分解为一些规模较小的相似子问题,然后递归解决这些子问题,最后合并其结果作为原问题的解。              归并排序将待排序数组A[1..n]分成两个各含n/2个元素的子序列,然后对这个两个子序列进行递归排序,最后将

2017-12-29 20:48:58 129

转载 基数排序

所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢复默认状态),以下学习基数排序。【1】基数排序以前研究的各种排序算法,都是通过比较数据大小的方

2017-12-29 16:33:18 122

转载 如何计算时间复杂度

一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2)

2017-12-29 13:00:37 198

转载 常见比较排序算法的实现(归并排序、快速排序、堆排序、选择排序、插入排序、希尔排序)

这篇博客主要实现一些常见的排序算法。例如: //冒泡排序 //选择排序 //简单插入排序 //折半插入排序 //希尔排序 //归并排序 //双向的快速排序(以及快速排序的非递归版本) //单向的快速排序 //堆排序对于各个算法的实现原理,这里不再多说了,代码中注释较多,结合注释应该都能理解算法的原理,读者也可自己google一下。另外,注释中有很多点,比

2017-12-29 10:07:02 739

转载 快速排序、堆排序、归并排序比较

快速排序是二叉查找树(二叉查找树)的一个空间最优化版本。不是循序地把数据项插入到一个明确的树中,而是由快速排序组织这些数据项到一个由递归调用所隐含的树中。这两个算法完全地产生相同的比较次数,但是顺序不同。对于排序算法的稳定性指标,原地分区版本的快速排序算法是不稳定的。其他变种是可以通过牺牲性能和空间来维护稳定性的。快速排序的最直接竞争者是堆排序(Heapsort)。堆排序通常比快速排序稍微慢,但是

2017-12-28 20:55:00 2019

转载 快速排序(QuickSort)

划分的关键是要求出基准记录所在的位置pivotpos,编程时候的关键点 快速排序: 既然能把冒泡KO掉,马上就激起我们的兴趣,tnd快排咋这么快,一定要好好研究一下。 首先上图:       从图中我们可以看到: left指针,right指针,base参照数。 其实思想是蛮简单的,就是通

2017-12-28 20:31:42 521

转载 二叉树的前序遍历、中序遍历和后序遍历及其算法

二叉树的基本的遍历规则有三种:前序遍历,中序遍历和后序遍历。对于每一种遍历,树中每个结点都要经过3次。前序遍历在第一次遇到结点时立即访问,中序遍历第二次遇到结点时访问,后序遍历则到第三次遇到结点时才访问。以一棵二叉树说明其三种遍历顺序:二叉树的前序遍历前序遍历:- + a * b – c d / e f中序遍历:a + b * c – d – e / f

2017-12-23 22:46:18 745

转载 解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误

用习惯了VS老版本的人当刚使用VS2013的时候可能总遇到类似于这样的错误:    error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See on

2017-12-22 14:58:04 1132

转载 编译错误之error C3861: “xxxx”: 找不到标识符

我的编译错误是如下:这个时候,我们一般往这几种情况去考虑。第一种情况我们看看是否包含sbc2dbc的文件是否包含进来。我们一查果然,包含sbc2dbc函数的sbcdbc.hpp文件并没有加进来!于是我们想办法找到sbcdbc.hpp,并把它include进来。在开头写上 include "sbcdbc.hpp"

2017-12-22 14:11:45 7166

转载 找不到min和max标识符--C++中头文件次序问题

在调试程序时出现了下面的问题,说找不到min和max标识符。1>c:\program files\microsoft sdks\windows\v7.0a\include\gdiplustypes.h(471): error C3861: “min”: 找不到标识符1>c:\program files\microsoft sdks\windows\v7.0a\include\gdi

2017-12-22 14:03:37 1738

转载 C++小练习—找零钱问题

采用贪心算法解决找零钱问题,如果需要找零57.8元,零钱数分别为(10元、5元、1元、5角、2角、1角)1、采用元为单位编写程序如下所示:[cpp] view plain copy#include    using namespace std;    int main()  {      float tot

2017-12-11 21:21:38 5644

SSD翻译.docx

一种使用单个深层神经网络检测图像中对象的方法被称为SSD,这篇文档是由爱好者帮忙翻译而成的中文版论文,可以深入了解SSD

2020-12-26

空空如也

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

TA关注的人

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