自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心之所向

JUST IDEA

  • 博客(34)
  • 资源 (15)
  • 收藏
  • 关注

原创 QT5(1)安装和新建项目

推荐Qt5教程PDF QT5类继承图一、下载下载地址 图中有两种,第一种基于msvc,也就是vs编译调试的;第二种基于自带gcc编译器和gdb调试器。推荐第二种,本人安装同为第二种。二、项目新建按照下述步骤快速新建一个项目: 一般情况下直接next。

2016-09-30 19:54:18 2301

原创 静态查找静态树表

一、基本思想静态树表为的是解决查找概率不等的记录。一般情况下,我们都是默认各个记录等概率查找的,但是有些记录可能不是等概率的。我们可能会首先搜索一些概率大的记录。 二、构造过程次优查找树和最优查找树的查找性能仅差1%-2%,而构造最优查找树花费时间代价较高。现构造一棵二叉树,使得二叉树的带权内的路径长度PH值在所有具有同样权值的二叉树中近似最小,称为次优查找树。 构造原理如下: 三、事例

2016-09-29 13:34:13 6127

原创 LeetCode之Two Sum 两数之和

一、题目Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: Given nums = [2

2016-09-28 16:58:10 503

原创 静态查找之顺序查找、折半查找、裴波那契查找、插值查找、索引顺序表查找(分块查找)

一、顺序查找  对于乱序表,从表的一端逐个比较,如果相等则查找成功,如果到底还没找到,则查找不成功。二、折半查找  基于有序表,由于表是从大到小或者从小到大排序。所以我们可以取表中间一个记录,判断查找内容在哪个区间内。一直循环直到最后low>high。 三、索引顺序表  索引顺序表利用了无序表和有序表的特点。其索引表为有序表,可以使用折半查找,而记录表则是无序的,不过其有个特点。

2016-09-28 14:21:34 1681

原创 内部排序之基数排序(RadixSort)

一、基本思想 基数排序借助的多关键字进行排序的思想对单逻辑关键字进行排序。 二、链式基数排序  如果我们对0至999之间的数据进行排序,首先它的关键逻辑关键字就是关键的字的大小。如果采用插入排序,直接比较大小就行了。但是基数排序不同,分析关键字我们知其有三位,个位,十位,百位。基数排序就是利用将单个关键字分成多个关键字。逐次对关键字进行排序,最后收集成一个完整有序列表。

2016-09-27 12:20:40 1412

原创 内部排序之归并排序(MergingSort)

一、基本思想 将两个已经排序好的有序列表合并成一个新的有序表。根据分治策略,我们会发现从上往下,就是将一个乱序表一直递归划分,划分到最后就只剩一个元素,显然有序。二、示意图 从底下往上看,整个算法就像分治策略中的最大子数组问题。 最大子数组问题三、算法整个算法分为两个部分,一个是对两个有序子表的合并;一个是对乱序表的划分。 合并: 这部分很简单,就是逐个读取连个子表的最小值。 划

2016-09-27 11:14:33 1133

原创 选择排序之树形选择排序(TreeSelectionSort)

一、简单选择排序思想 很显然,每次我们比较后就把数据进行交换,取出了关键字最小的记录,但是对于与最小关键字记录交换的数据我们直接扔进了乱序中,没有利用这次比较。导致每次选择都要重新比较。 二、树形选择排序为了减少简单选择排序,我们利用前n-1次比较信息,减少下次选择。类似于锦标赛。根据锦标赛传递关系。亚军只能从被冠军击败的人中选出。 、 实际算法中,我们把需要比较的记录全部作为叶子,然后从叶

2016-09-26 23:56:06 13695 7

原创 选择排序之堆排序(HeapSort)

一、堆定义  (二叉)堆是一个数组,类似于完全二叉树。分为两种形式: 二、维持堆性质  堆排序使用的是最大堆,如果堆中某个结点不满足最大堆性质,这时就需要用算法调整节点位置,使得满足最大堆性质。 三、建堆  默认数组为一个无序堆,通过数组前部分数组调用MAX-HEAPIFY函数来调整节点来使其满足最大堆性质。 四、堆排序  由于堆已经排好序,我们只需要逐渐取出节点就可以完成排序。堆

2016-09-26 23:15:09 563

原创 分治策略之最大子数组

一、基本思想  分治策略是将父问题差分成的多个子问题,然后递归的方式解决子问题。整个思想和动态规划类似,不过分治策略不要求最优解问题,而只是把父问题分解成子问题。步骤: 分解(Divide)先将问题划分成子问题。子问题的形式与原问题相同。 解决(Conquer)递归解决问题,当问题缩小到一定程度就能够直接求解。 合并(Combine)当最小子问题解决后,递归已经触底回归,逐渐将子问

2016-09-26 14:10:06 1008

原创 内部排序之插入排序(InsertSort)

一、基本思想 直接插入排序(最坏时间O(n*n))是将一个数据插入到已经排序好的列表中。假设列表已经从小到大排列好,此时又有个新数据插入,可以从列表尾部开始向前遍历,与新数据比较。如果新数据比当前遍历数据小时停止遍历,将新数据插入。二、核心算法三、事例四、折半插入由于直接插入排序,新数据是插入一个已经排序好的序列。所以在查找插入位置过程中其实就是对一个排序序列进行查找。我们可以采用折半查找来实

2016-09-25 15:48:48 1432 1

原创 linux nohup

nohup将程序在后台运行。无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。输出 STDIN标准输入,STDOUT标准输出,STDERR标准错误输出,即:0,1,2nohup python app.py 2 > nohup.log //将标准错误输出到当前目录nohup.log文件中,而标准输出依然输出到命令行nohup python ap

2016-09-24 21:14:15 759

原创 python 编码 乱码问题 ascii unicode utf-8

基础知识部分 首先需明白python2.7默认使用的是ascii,而现在python3.x默认使用的是unicode。下面内容基于python2.7。一、文件编码  一般文件使用的是utf-8或者bgk编码进行存储。但是由于python2.7默认使用ascii,所以python2.7在运行py后缀文件时也是默认以ascii编码读取文件。如果文件中没有中文不会出现问题。但是如果有中文的话,由于中文编

2016-09-24 20:43:03 6920

原创 ascii gbk utf-8 编码问题

首先我们需要明白计算机底层中所有东西只能由010101二进制表现出来的,那么我们如何用01二进制来表现我们生活中字母数字呢?聪明的远古人类想到将01二进制数字和我们生活中的文字关联起来,形成一一对应。这样我们在计算机内部实际存储的是数字,而我们看到的则是经过渲染的文字。一、ASCII  由于美国日常使用中只有字母和数字,还有一些控制字符。一个字节8位,8位可以表示256种字符。因此用一个字节就可以很

2016-09-24 19:43:37 1714

原创 php 导入csv ascii编码中文无法读取 utf-8

php项目导入csv文件后,php无法读取到ascii编码的数据。强制使用iconv()和mb_convert_encoding()将ascii转化为utf-8无效。 搜索原因:ascii是utf-8的子集。一、linux平台在读取csv文件前先使用setlocale函数来设置地区信息。 string setlocale(string category, string locale);

2016-09-24 18:37:04 2220

原创 ES6 yield

一、介绍  yield 关键字用来暂停和继续一个生成器函数。我们可以在需要的时候控制函数的运行。   yield 关键字使生成器函数暂停执行,并返回跟在它后面的表达式的当前值。与return类似,但是可以使用next方法让生成器函数继续执行函数yield后面内容,直到遇到yield暂停或return返回或函数执行结束。二、使用函数返回对象包括value和done。其中value值是yield后面表

2016-09-10 16:41:36 17780

原创 字符串之KMP算法

一、介绍  KMP算法全称Knuth-Morris-Pratt算法,是一种字符串匹配算法,常规字符匹配是每次移动一位,复杂度O(mn);而KMP算法复杂度O(m+n)。二、算法原理  KMP算法利用的是目标字符串(要匹配的字符串,如下图第二行)前后缀有相同的子字符串和在匹配过程中前i-1个字符已经匹配过的规律。 匹配过程: 部分匹配表: 从第一张图中我们看到当我们目标字符串第一位与被匹

2016-09-10 15:46:03 928

原创 作业调度算法

作业(程序+数据+作业说明书)比程序概念更为广泛,在批处理系统中,以作业为单位从外存调入内存 FCFS先来先服务算法既可以用于进程调度又可以用于作业调度。从后备作业队列选择最先到来作业。已经很少作为主调度算法。 SJF短作业优先作业越短,优先级越高。但是需要预估作业时间,并且对于长作业不利。 HRRN高响应比优先调度算法综合考虑上述算法,FCFS算法等待时间长的优先级高,SJF算法

2016-09-09 18:21:46 640

原创 C++ 静态成员 静态成员函数

一、静态成员类对象在声明后各自拥有自己的类成员,但是如果我们想同一个类对象共享数据,那么就需要声明静态成员。使用static关键字声明。 注意: 1、静态数据成员必须在类外完成初始化 如果不赋值,默认为0 2、静态数据成员因为为类对象所共有,所以可以被所有同类对象引用,甚至使用类名引用a.d;b.d;Sample::d;3、静态成员函数受限于访问权限public,protecte

2016-09-08 19:34:43 490

转载 数据库范式(1NF 2NF 3NF BCNF)

整个数据库的范式目的将数据缩小成原子的同时,把非主键关联到相应主键上,但是对于不相关的没有依赖关系的需分离出来另建成表。原文来自于:原文范式判断流程图1.       四种范式之间关系        2.       第二范式、第三范式、BCNF区别:2NF:非主键列和主键列之间,是完全

2016-09-08 18:57:31 497

原创 linux bash变量 $# $1 $2 $@ $* $$ $0 $? getopt用法

$# 传给脚本的参数个数$1 脚本的第一个参数$2 脚本的第二个参数$@ 传给脚本的所有参数("$1" "$2" "$3" .... "$n")$* 传给脚本的所有参数(一个字符串:"$1 $2 $3 $4 .... $n")$$ 脚本运行的进程ID号$0 脚本的名称$? 退出状态,0表示没

2016-09-08 16:16:08 712

原创 动态查找之哈希(hash)表

一、介绍  与其他建立在“比较”基础上的查找算法不同,哈希表是通过哈希函数将储存位置与值得关键字建立一一对应关系,从而一般一次就能够得到值。但是有时对于不同关键字哈希后得到的地址会是相同的,称这种现象为冲突。具有相同哈希值的关键字称为同义词。二、哈希函数哈希函数一般都是尽可能是的关键字随机性较大,出现相同概率小。 直接定址法:根据关键词由哈希函数直接计算得地址 数字分析法:分析关键字规律,尽

2016-09-08 15:37:31 1895

原创 内部排序之快速排序(QuickSort)

一、基本思想快速排序法是对冒泡法的改进。基本思想为:从列表中任选一个记录作为枢纽。然后从列表的开始和结束位置向中间遍历,把记录的关键字与枢纽进行比较。小于枢纽的记录放在低位,大于枢纽的记录放在高位。从而把列表分成两部分,一部分大于枢纽,一部分小于枢纽。最坏时间O(n*n)二、核心算法三、递归调用四、例题LeetCode之Two Sum

2016-09-07 21:48:54 485

原创 C++ 继承与派生

一、继承方式公有继承 基类中公有成员和保护成员访问权限不变,私有成员变为不可访问。 私有继承(默认) 基类中公有成员和保护成员变为私有成员,私有成员变为不可访问。 保护继承 基类中公有成员和保护成员变为保护成员,私有成员变为不可访问。 综合:私有成员全都变成不可访问。公有继承不改变访问权限,私有继承和保护继承都是将基类中公有成员和保护成员变成继承方式所对应的权限。二、构造和析构顺序对

2016-09-07 18:57:17 575

原创 文件之索引文件

索引文件指的是为逻辑记录和物理记录之间建立一个一一对应关系表–索引表。 在检索过程中,分两步,首先查找索引表,如果存在该记录,则根据索引项的指示读取外存。 如果索引表很大,可以再为索引表建立查找表。如下图: 设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节(KB),若磁盘索引块和磁盘数据块大小均

2016-09-07 16:54:09 10733

原创 C++ 类型转换

不同类型数据之间混合运算时低级别的类型转换为高级别类型。如下图所示 赋值时类型转换实型数赋值给整型变量时除去小数部分。仅将整数部分赋给整型变量,超出范围报错。整型数赋值给实型变量时,将整型变成实型后再赋值给实型变量。将少字节整型数据赋值给多字节整型变量时,将少字节放置在多字节整型低位字节,高位扩展少字节整型符号位。将字符型赋值给整型变量,分为: 对无符号字符型,放置在整型低位,高位字节

2016-09-07 16:21:50 502

原创 进程五种基本状态

创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态 就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行 执行状态:进程处于就绪状态被调度后,进程进入执行状态 阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区

2016-09-06 19:39:03 26198

原创 树之性质

总边数+1=总结点在一棵度为3的树中,度为3的结点有2个,度为2的结点有1个,度为1的结点 有2个,那么,该树有 __个叶结点。设度为0的结点个数为n0,度为1的结点个数为n1,度为2的结点个数为n2,度为3的个数n3树中结点总数n0+ n1 + n2 + n3,所有边的数量为0 * n0 + 1 * n1 + 2 * n2 + 3 * n3树中结点比边多1个,合并这两个式子就可以得到:n0

2016-09-06 18:04:16 1176

原创 linux /etc/fstab

linux文件结构挂载在一个目录树上,当有新分区时,需要在/etc/fstab 文件中配置Linux开机时自动挂载的分区。否则分区将无法使用。打开fstab文件如下:# <file system> <mount point> <type> <options> <dump> <pass># 实际分区 挂载点 分区文件系统类型 挂载参数 是否备份

2016-09-06 17:06:33 277

原创 C++ 虚函数 纯虚函数

一、问题多态性: 多态性分为两类:   静态多态性指在编译期间就已经确定了函数调用和函数代码直接的关系。比如,在编译重载函数和重载运算符函数时,编译器根据它们的参数表,对应相同函数名进行修饰,将它们转化为不同函数名。遇到函数调用语句,根据实参就能够确定使用哪个函数。   动态多态性指程序只有在运行时才能够确定调用哪个函数。比如通过基类的指针或引用调用虚函数。 兼容性规则:   当我们把派生

2016-09-06 16:46:53 540

原创 树之二叉树遍历先序,中序,后序

一、介绍二、遍历理解首先需明白:先序,中序,后序中的先,中,后指的是根结点的遍历顺序。 以中序遍历为例(数据读取顺序:先左树,再根结点,再右树): 1、先找到根结点,遍历了但是不能读取数据,此时树被分成两个子树,分别称为左树1,右树1。 2、对于左树1,我们把它当成新的一棵树。先访问根结点,遍历了但是不能读取数据,左树1左边为叶子 读取数据(a),然后读取根结点 (+)。左树1右边为子树,姑

2016-09-05 19:46:31 675

原创 树之赫夫曼树 最优二叉树

一、介绍赫夫曼树可以用来优化算法,减少运行次数;还可以用于电报编码。 二、优化算法对于我们嵌套的if语句,通常我们需要判断多次if。但是if里表达式的顺序与程序运行速度有很大关系。如果我们把频率高的if条件放在前面的话就能够避免多次检测false的if语句。 算法思想: 三、赫夫曼编码 赫夫曼树结点每向下一层只有两个度,对应于0-1情况。从根结点走到叶子结点只有一条路径,而且不使

2016-09-05 13:02:28 1155

原创 图之关节点和重连通分量

一、介绍关节点问题主要是用在线路架设上,一旦关节点损坏,线路网就断开了。因此为避免这种情况,需要将网做出重连通图。关节点更像是把图分成了两部分,而这两部分只通过这个关节点链接。显然如果这个关节点断了,这两个子图就无法再通信了。 二、算法基于深度搜索,有以下特性: 上面的low[w]有点不好理解,其实大致意思,如果我们在进行深度搜索时,到最深处是一个已被访问的顶点。这是我们判断这个已被访问的顶

2016-09-04 12:19:00 1577

原创 图之每对顶点最短路径

一、算法每对顶点最短路径解决比如每对城市间的距离。 二、基于矩阵的动态规划算法 以上分析了满足动态规划条件。   在寻找子结构时是从后向前分析。首先定义父问题的最短路径,然后在减去最后一个顶点变成子问题的最短路径。在从后向前分析是我们的子问题路径总是在那条最优路径上减去最后一个顶点。然后在我们从前往后进行算法时我们考虑的却是所有子问题。      比如说我们假设上图上面一条路径为最

2016-09-03 00:01:00 987

原创 图之有向无环图,拓扑排序,关键路径

一.实际问题 上图可看出有向无环图(DAG)与一般图区别:有方向,共用子结构,无环。 有向无环图常用于解决工程活动问题:   判断工程是否能否顺利进行–拓扑排序   求工程完成所必须的最短时间–关键路径二.拓扑排序  拓扑排序主要为后续求最短路径做准备,同时判断图是否有环。   从偏序得到拓扑有序的操作称为拓扑排序。      在偏序中,有些成员无法比较,而全序中所有成员都可比较。如上

2016-09-01 20:37:08 3818

视频、图像原理 设配选择

介绍视频、图像原理及其如何进行设配选择。图象与视频是两个既有联系又有区别的概念:静止的图片称为图象(Image),运动的图象称为视频(Video)。图象的输入要靠扫描仪、数字照相机或摄象机等;而视频的输入只能是摄象机、录象机、影碟机以及电视接收机等可以输出连续图象信号的设备。 本文将针对视频图像这一领域作一个概括的介绍,希望对大家进一步了解视频技术方面的知识有所帮助。下面先对一些视频技术名词作一下简单解释。

2018-04-12

基于图像处理和K近邻的车牌号识别 opencv python

基于图像处理和K近邻的车牌号识别源码 首先对车牌字符进行图像处理,提取,然后使用K近邻算法预测。 opencv python

2018-01-16

GetDict.exe 2.6的升级版本MdxExport

GetDict.exe 2.6的升级版本MdxExport

2017-04-09

Xgboost编译版,使用Python2.7

Xgboost编译版,使用Python2.7

2017-03-20

Qt多线程Thread示范,失效百度私链穷举

Qt多线程Thread示范,失效百度私链穷举

2017-02-20

java 原型模式

java 原型模式

2017-01-05

java 建造者模式代码

java 建造者模式代码

2017-01-03

c++ java 抽象工厂模式代码

c++ java 抽象工厂模式

2016-12-31

java c++ 工厂模式源代码

java c++ 工厂模式源代码

2016-12-31

Qt5 模拟登录百度

练习QT5时写的模拟登录百度的简陋代码。

2016-12-28

Qt5的类继承图

通过类继承图一眼明了Qt5的类继承。

2016-12-18

tornado 简单项目结构

tornado 简单项目结构

2016-08-11

STM32F4-Discovery_FW_V1.1.0 固件库及实例

STM32F4-Discovery_FW_V1.1.0 固件库及实例

2016-04-09

stsw-link009 for window10.zip

This USB driver (STSW-LINK009) is for ST-LINK/V2 and ST-LINK/V2-1 boards and derivatives (STM32 discovery boards, STM32 evaluation boards, STM32 Nucleo boards).

2016-02-27

MATLAB7.0从入门到精通

《MATLAB7.0从入门到精通》对MATLAB 7.0进行了详细的介绍,力求做到细致全面。全书共分为15章。 前5章是有关MATLAB的基础知识,包括MATLAB的安装、卸载及系统功能的简述,MATLAB的数学运算和数据可视化工具以及MATLAB的编程等内容。 第6章~第9章是MATLAB的高级应用部分,分别介绍了MATLAB 7.0的数据分析和处理功能,符号计算功能,Simulink仿真环境和文件I/O操作。 第10章~第12章和第14章介绍了信号处理工具箱、图像处理工具箱和编译工具箱以及应用广泛的高级图形设计。第13章、第15章介绍了MATLAB的外围功能,包括与Word、Excel的混合使用和MATLAB的应用程序接口。附录部分列出了常用命令和函数,Simulink的库模块和应用程序接口函数库。 《MATLAB7.0从入门到精通》叙述详细,深入浅出,又有丰富的例程,适合使用MATLAB的本科生、研究生和教师以及广大科研工作人员作为参考用书。

2016-02-22

空空如也

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

TA关注的人

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