自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二分法专题-lintcode二分法问题解惑

二分法是常考的算法,适用于:在一个有序的序列中,找第一个满足某条件的位置(当然也可以找满足某条件的最后一个位置)学习过程中让人迷惑的问题有:上下限的确定,low=0,high=n-1还是low=0,high=n循环条件low循环中low=mid还是low=mid+1,high=mid还是high=mid-1有些情况无法退出循环,即是要mid=(low+high)/2还是mid=(l

2017-11-27 09:02:08 415

原创 机器学习实战-k近邻的概述与实现

算法描述如下:1)计算已知类别数据集中的点与当前点之间的距离;2)按照距离递增次序排序;3)选取与当前点距离最小的k个点;4)确定前k个点所在类别的出现频率;5)返回前k个点出现频率最高的类别作为当前点的预测分类。书中有代码,只是注释给的太少,故提一下用到的几个函数,输出一下中间结果便于理解      #手动创建数据,最简单的knn

2017-11-09 20:02:59 218

原创 二叉树专题-lintcode翻转二叉树

利用递归,交换左右子树即可,属于容易题class Solution {public: /** * @param root: a TreeNode, the root of the binary tree * @return: nothing */ void invertBinaryTree(TreeNode *root) { //

2017-10-31 15:31:16 222

原创 二叉树专题-根据前序和中序序列构造二叉树

经典的二叉树构造的问题,例子:(注意题目中限定了,没有重复的元素),先序为2143,中序为1423我们先手算一下,看看是如何构造的。先序第一个为2,则根为2,那么去中序中找2,就能够区分左右子树了。14在左子树,3在右子树。且左子树的先序序列为14,中序也为14.....可以分析出来这是一个递归的过程。手工算到最后,很容易构造出二叉树。故递归函数必须要有preL,preR,inL,

2017-10-27 14:50:00 7102

原创 二叉树专题-验证二叉查找树

注意,题目中给的定义是严格小于,严格大于,不包含等于。这样,每个位置的值实际上必须在一个区间内。可以用递归的先序遍历的方法,先判断根是否在对应区间内,再判断左子树与右子树。举一个例子:  对于根节点,任意取;向左,需要严格小于1,故区间变为[负无穷,1),向右,需要大于1,故区间变为(1,正无穷];走到4时,区间为(1,3),4不在这个区间内,即不是二叉查找树  例子中的正

2017-10-23 09:37:49 573

原创 二叉树专题-lintcode路径相关

二叉树中路径相关的问题一直是常考题,这也是深搜的问题。由于路径要从根节点开始,故也是一个先序遍历的问题。  不熟悉的话,建议看一下这几个例子,熟悉一下深度优先搜索和二叉树的遍历:DFS求全排列    DFS生成括号    二叉树的遍历  来看一下几道题目:    典型的递归深搜,如果对前面DFS的例子熟悉的话,很容易能解决。搜到了叶子结点,然后存入即可。vector binar

2017-10-20 15:48:35 160

原创 二叉树专题-lintcode二叉树的层序遍历

层序遍历算是遍历方式中,比较容易掌握的,实质就是宽度优先遍历,BFS的基本代码块如下;void BFS(){ 创建队列 第一个元素入队 while(队列非空){ 取队首元素top 出队 访问top 下一层的元素按顺序入队 }}  放到二叉树的遍历中来看,首先根节点入队,根出队,访问根节点,再入队左孩子,入队右孩子;这样再出队时,就是访问的第二层的左侧...

2017-10-19 17:46:15 175

原创 二叉树专题-lintcode非递归遍历与总结

紧接着上一篇文章讨论后序遍历的非递归写法,可以先看看上一篇文章:递归与非递归遍历  上一篇文章已经讨论到了:后序遍历要求最后访问根节点,访问完左子树后,要想进入右子树,无法直接跳入左子树,必须要有根的信息,从根节点才可进入右子树。但是栈中只保存了一次根的信息,出栈后获取了根,访问右子树,访问完了后便丢失了根的信息。这个特点导致了后序遍历的非递归写法比先序,中序复杂。  我们有了将节点入栈2

2017-10-18 15:26:53 216

原创 二叉树专题-lintcode递归与非递归遍历

二叉树的基本遍历方法是lintcode题目中的常用思想,有的题目还会要求写非递归的代码。现以递归的先序遍历为例子,分析非递归的写法。如果用递归的写法,很容易:void preOrder(TreeNode *T,vector& result){ if(T){ result.push_back(T->val); preOrder(

2017-10-16 15:27:07 215

原创 DFS-lintcode解法总结

在做过了前面几道深搜的题目后,慢慢地会了深搜的思考方式。这里做出总结,可以看出题目都有一些共性。还没做过题目的可以看看这些例题:求全排列求组合生成括号恢复IP地址单词搜索做了以上这些题目后,我们可以总结出,深搜往往是解决这样的问题:求满足条件的所有可行解,判断已知的一条路径是否符合条件。再往细分,可以看成一下几类:给一个数组,求满足条件的所有

2017-10-15 16:07:18 252

原创 DFS-lintcode单词搜索(word-search)

类似于迷宫,判断是否存在满足条件的一条路径,还是用深搜的方法来解决。前面做过了许多的深搜题,给出的都是一维数组,字符串等,这里给出的是二维数组,实际上需要变化只是状态的扩展而已,还是用画图的方法来分析。以word = "ABCCED"为例由于没有规定起点的位置,应该是每一个位置都要尝试。[0][0]的位置为A,word[0]也为A,符合,扩展状态,相邻的有B和S,B是符合的。继续向下,B的

2017-10-13 09:02:23 273

原创 DFS-lintcode恢复ip地址(Restore IP Addresses)

典型的DFS找满足条件的所有可行解。ip地址由4部分组成,每部分范围为0-255,容易忽略的是:每部分中0是可行的,但多个连续0如192.168.000.1是非法的,192.168.001.1这样前面有多余0的也是非法的,关键在于如何将这些条件转化为深搜中的条件不熟悉深搜的可以先看看求排列组合的深搜题:DFS求全排列        DFS求组合分析样例,第一部分的所有可能为2,25,255

2017-10-11 15:27:52 721

原创 DFS-intcode求组合

典型的DFS求所有满足条件的解。分析样例,从[1,2,3,4]中选2个数组合,[2,4],[4,2]是相同的,我们手算的过程应该是拿出1与后面[2,3,4]依次组合,2与[3,4]依次组合,3与4组合,4后面没有数了,结束。可以立刻画出搜索过程的示意图:利用start变量,每一层[start,n]遍历,很容易实现手算的过程转化为DFS的代码:class Solution {p

2017-10-10 15:55:42 261

原创 DFS-lintcode生成括号

组合的问题往往用DFS搜索,关键是如何组合能满足合法括号的条件,可以用图来进行思考:以n=3为例A:由于n=3,只能有3个左括号,3个右括号,已经有了3个左括号,不能再放左括号了,故只能再往右侧走,得到((()))B:同上,(()(已经有3个左括号了,只能再放右括号,往C走,得到(()())D:(())(已有3个左括号了,只能放右括号,得到(())()继续往后,可以得到剩余的组合

2017-10-09 18:30:21 354

原创 DFS-带重复元素的全排列

此题是全排列问题的变形,给出的列表中有重复数字,需要去重。解决全排列问题的思路参见DFS-全排列问题去重思路:以[1,2,2]为例,可以要求index=1的数字2在最后生成的排列中一定要在index=2的数字2的前面,强制规定了顺序,避免了重复。即先从小到大排序,使相同的数字聚在一起,若前后2个数字相同,访问后一个数字的时候,前一个数字必须已经访问过了。只需添加一行代码if(i>0&&nums

2017-10-07 16:02:54 1820

原创 DFS-求全排列

DFS-求全排列以[1,2,3]为例,若第一个元素为1,则还要求[2,3]的全排列;第一个元素为2,则还有求[1,3]的全排列........故可用递归实现深度优先遍历,遍历出所有的可能vector> permute(vector &nums) { // write your code here vector> res; vect

2017-10-05 10:11:41 723

原创 java信号量解决生产消费问题

信号量的基本原理简单点理解,信号量可看成一个整形量,表示可用资源的个数,使用资源时信号量-1,释放资源时信号量+1,以生产消费为例:

2017-04-27 08:32:26 446

原创 java生产消费问题

java生产消费问题

2017-04-25 20:04:47 481

原创 递归获取指定文件夹下的所有文件

import java.io.File;import java.util.ArrayList;public class FileTool { ArrayList list=new ArrayList(); //获取指定文件夹下的所有文件 public ArrayList getAllFile(String dirPath){ File file=new File(dirPath);

2016-12-02 20:50:58 288

原创 数组的顺序表示与实现

#include#include#include//使用变长参数表需要引入此头文件#define MAX_DIM 8typedef struct { int * base;//数组元素基址 int * bounds;//数组维数基址,bounds[0]=3,bounds[1]=4,bounds[2]=2,表示3页4行2列的数组 int * constants;//数组映像函数常量基

2016-10-04 20:58:51 2010

原创 简易的Java拼图游戏

简易的Java拼图游戏,将图片用PS切成4*4,16份,命名为00.gif,01,gif,02.gif.......以此类推。(去掉00.gif,改为一张空白图片)。16个按钮上显示图片,点击按钮后,若点击的按钮与空白按钮相邻,则将按钮上的图片进行交换,从而实现拼图的效果。import java.awt.BorderLayout;import java.awt.Component;impo

2016-01-23 20:56:27 4828 5

原创 小例子:java利用poi读取excel中数据并导入数据库

问题描述:文件夹下有若干excel文件,文件名为10.教育局.xls   11.卫生院.xls     ................有很多;中间的汉字为单位名称,需要导入数据库,每个单位名称要有一个单位id匹配;每个excel中有若干个sheet页的名字,每个名字即为科室名称,要导入数据库并有科室id解决方案:利用poi即可读取出每个sheet页的名字读取单位名称:用Fil

2015-12-17 21:09:46 11166

原创 简单的折半查找

#includeint search(int a[],int j,int low,int heigh)//折半查找,在数组a中下标从low到heigh查找j{ int mid; if(low<=heigh) { mid = (low+heigh)/2; if(mid==j) return mid; else if(j<a[mid]) return search(a

2015-12-16 20:37:42 241

原创 循环队列的小例子

问题:利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。ih#include#include#include#define MAXSIZE 100typedef struct{ char name[20];}dancer;typedef struc

2015-12-08 22:06:31 666

ssm+mysql的网上商城系统(有数据库脚本与说明)

包含前台与后台,前天用户注册登录,添加购物车,购买商品.....后台管理商品,统计等等

2018-03-09

leetcode题解pdf

leetcode题解,c++代码,代码简洁,部分题目有讲解。有许多常见题目的解法,适合入门,反复揣摩,很好的电子书

2017-09-21

c++课设----考勤统计

用面向对象设计,基于文件的简单考勤统计

2017-08-03

郝斌java ppt+源程序

郝斌java ppt+源程序,适合自学

2017-05-22

ssm+mysql的网上商城系统(附数据库脚本和说明)

ssm+mysql的网上商城系统,前台商品的展示,添加购物车,结算,商品评价;后台添加商品信息及图片,广告管理,基本的统计功能

2017-03-20

matlab在数学建模中的应用_卓金武(源程序)

建模经典教材的源程序

2017-03-16

mysql+ssm的购物网站(前台+后台+数据库文件)

mysql+ssm的购物网站(前台+后台+数据库文件)。登录,注册,购物,订单提交,购买,评论功能完备,后台商品图片、信息上传、用户管理等

2017-03-15

HttpWatch汉化破解版

HttpWatch汉化破解版,分析http请求,简单清晰,支持IE

2017-02-27

数据结构高一凡书、源码、课件

数据结构高一凡书、源码、课件,关于算法的演示动画很形象,可配合严蔚敏的数据结构的书本使用

2017-02-08

html购物订单页模板

html购物订单页模板

2017-01-11

基于RCP的影院管理系统

影院管理系统。使用java基础,所有用户UI使用RCP技术。数据库使用mysql数据库,访问数据库部分采用封装的JDBC。movies.sql为对应的数据库脚本

2016-12-30

空空如也

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

TA关注的人

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