自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用邻接链表存储无向图和有向图

上一篇文章我们说到用邻接矩阵存储有向图和无向图,这种方法的有点是很直观的知道点与点之间的关系,查找的复杂度是为O(1)。但是这种存储方式同时存在着占用较多存储空间的问题,邻接矩阵存储很好理解,但是,有时候太浪费空间了,特别是对于顶点数多,但是关联关系少的图。举个极端的例子。下图中,5个顶点都是孤立的,然而为了存储边的信息,要分配一个5X5的矩阵。本来一条边都没有,没必要用存

2017-04-08 09:48:44 10274

原创 有向图和无向图用邻接矩阵储存

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

2017-04-08 09:15:47 48731 10

原创 二维数组中查找问题

给定一个M*N的二维数组,在每行、或者每列上的元素都是按升序排列的(从小到大),既:matrix[i][j]要求设计一个算法,在矩阵中查找是否存在给定的值(target)因为这是一个每行每列的矩阵,我们很快就想到可以对每一行或者每一列进行二分查找,看target是否存在于二维数组中,对M*N二维矩阵,此算法复杂度为O(M*logN),很容易写出以下代码:#include #inc

2017-03-14 12:42:57 416

原创 最大子序列求解及分治算法的一些例子

题目大概意思是:在一个乱序的数列中,找出其相加之和最大的子列。例如在[-2,1,-3,4,-1,2,1,-5,4]子列为[4,-1,2,1]有最大和为6。我的解题思路就是做一个历遍,首先从数列第一位与后面的各个位相加,一直加到末尾,找出第一位数中最大和子列的最后一位数;然后再从第二位数往后加起来,以此类推。找到数组中的某一位数相加到它之后的某位数为最大。#include using name

2017-03-07 10:27:05 657

原创 Find the disappear numbers in a array

这个问题意思是 从1到n(n为数组中的最大项)中找出数组中不包含的数。我的思路是用数组中含有的数如a,将数值第a位既array【a】变为负数,那么数组经过变换后,哪一位的数还是正数,那么该位的下标加一就是不在数组中的。如 4 2 2 3 8 7 3 1 变换后是 -4 -2 -2 -3 8 7 -3 -1这第五位和第六位(下标分别是4 、5)为正,那么5、6就不存在改数组中。#

2017-02-25 15:52:06 244

空空如也

空空如也

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

TA关注的人

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