上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 129 下一页

2016年3月12日

找出一个整型数组中只出现了一次的数字

摘要: 要求:一个整型数组中除了两个数字外(记为X,Y),其余数字都出现了两次,请写程序找出这两个只出现了一次的数字,要求:时间复杂度为O(n),空间复杂度为O(1)。 思路:假设数组中只有一个数字出现了一次,则很容易想到将数组中全部元素进行异或运算的结果即为只出现了一次的元素,所以... 阅读全文

posted @ 2016-03-12 21:27 海南一哥 阅读(372) 评论(0) 推荐(0) 编辑

用动态规划解决最长公共子序列

摘要: 要求:最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。而最长公共子串(要求连续)和最长公共子序列是不同的 ... 阅读全文

posted @ 2016-03-12 16:37 海南一哥 阅读(148) 评论(0) 推荐(0) 编辑

【数据结构队列的应用】用队列打印杨辉三角

摘要: 数学中的杨辉三角大家都不陌生,那怎样用程序的方式求n行的杨辉三角呢?方法很多,队列就是其中的一种。下面给出基于队列实现的杨辉三角。 # include# define M 100typedef struct { int a[M]; int front,rear;}sq;void init(sq ... 阅读全文

posted @ 2016-03-12 11:00 海南一哥 阅读(865) 评论(0) 推荐(0) 编辑

约瑟夫环

摘要: 要求:约瑟夫环的一种描述为:序号为1,2,...,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数),开始时任选一个数作为报数上限m,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数,报的m的人出列,将他的密码作为新的m值,从他开始在顺时针方向的下一个人开始重新从1报数,如... 阅读全文

posted @ 2016-03-12 10:09 海南一哥 阅读(201) 评论(0) 推荐(0) 编辑

2016年3月11日

数据结构排序算法之堆排序

摘要: 关于堆排序的相关知识非常复杂,不懂得可以参考任意一本数据结构教程,本博客只对堆排序框架及代码进行讲解。堆排序分三个大的步骤:建初堆,堆调整,堆排序(其中最核心的是堆调整)1建初堆:从数组中的最后一个非叶子节点开始,从下而上倒推(重复调用堆调整函数)2堆调整:堆调整的前提是已建好了一个堆,但是因为输... 阅读全文

posted @ 2016-03-11 16:45 海南一哥 阅读(290) 评论(0) 推荐(0) 编辑

整数划分

摘要: 整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 0),只有一种划分即{1}; (2) 当m=1时,不论n的值为多少,只有一种划分即n个1,{1,1,1,...,1}; (3) 当n=m时,根... 阅读全文

posted @ 2016-03-11 16:23 海南一哥 阅读(327) 评论(0) 推荐(0) 编辑

二叉树的递归与非递归

摘要: 要求:给定一个二叉树序列,要求以递归与非递归的形式先序输出。 递归的本质就是系统自动用系统工作栈来将参数入栈与出栈,所以递归化非递归就是程序员自己来控制参数的入栈与出栈,可用循环加自定义栈来控制。 代码如下: #include#includeusing namespace std;typedef... 阅读全文

posted @ 2016-03-11 16:06 海南一哥 阅读(162) 评论(0) 推荐(0) 编辑

螺旋数组

摘要: 要求:螺旋数组是指将给定的存储连续自然数的二维数组中的数字从最外层开始以顺时针形式输出 如:二维数组为 {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}} 则输出为: {{1,2,3,4}, {12,13,14,5}, {11... 阅读全文

posted @ 2016-03-11 15:57 海南一哥 阅读(182) 评论(0) 推荐(0) 编辑

【图的DFS】图的DFS非递归算法

摘要: 在DFS的递归算法中,DFS框架如下: 1访问起点v0 2依次以v0的未访问的连接点为起点,DFS搜索图,直至图中所有与v0路径相通的顶点都被访问。 3若该图为非连通图,则图中一定还存在未被访问的顶点,选取该顶点为起点,重复上述DFS过程,直至图中全部顶点均被访问过为止。 而在非递归的DFS框架... 阅读全文

posted @ 2016-03-11 15:41 海南一哥 阅读(2492) 评论(0) 推荐(0) 编辑

【图的最短路径】迪杰斯特拉算法求图的最短路径

摘要: 要求:求带权有向图中某一结点到其他结点的最短路径。 用迪杰斯特拉算法求解,迪杰斯特拉算法书上的描述如下: 对于图G=(V,{E}),将图中的顶点归为两组: 第一组S:已求出的最短路径的终点集合(开始为{v0}) 第二组:V-S尚未求出的最短路径的顶点的集合(开始为V-{v0}的全部顶点) 该算法... 阅读全文

posted @ 2016-03-11 15:01 海南一哥 阅读(329) 评论(0) 推荐(0) 编辑

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 129 下一页

导航