自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

穆江浩的博客

算法进阶之路

  • 博客(33)
  • 收藏
  • 关注

转载 遗传算法小结

这两天在本部做项目,到现在脑子还是一头雾水,不知如何进入。    开会后,分配了“遗传算法”,好歹也是咱数据挖掘的兄弟,那本书来研究研究。    学到了点小小小小的意思,放到这,千万别忘了。       遗传算法(Genetic Algorithm,简称GA),起源于对生物系统所进行的计算机模拟研究,是一种借鉴生物界自然选择和自然遗传机制的随机搜索方法。由美国(怎么

2017-03-20 20:50:16 19580 3

原创 鸟哥的linux私房菜读书笔记10

第十章:vim程序编辑器学习vim的原因:所有的unixlike系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;很多软件的编辑接口都会主动调用vi;vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;程序简单,编辑速度相当快速;vim是vi的升级版本,可以用颜色或底线等方式来显示一些特殊的信息;vi分为三种模式:分别是一般模式、编辑模式和命令行模式分

2017-02-23 16:17:07 319

原创 鸟哥的linux私房菜读书笔记9

第九章:文件与文件系统的压缩与打包gzip,zcat压缩解压命令;用法gzip[-cdtv#] 文件名;-c将压缩的数据输出到屏幕上,可通过数据流重定向来处理;-d解压缩的参数;-t可以用来检验一个压缩文件的一致性,看看文件有无错误;-v可以显示出原文件/压缩文件的压缩比等信息;-#压缩等级-1最快-9最慢但是压缩比默认是-6;可以打开compress;解压:zcat 文件名.gzbzip

2017-02-23 16:16:10 461

原创 鸟哥的linux私房菜读书笔记8

第八章:linux磁盘与文件系统管理磁盘的物理组成:圆形的盘片,主要记录数据的部分;机械手臂与机械手臂上面的磁头,可读写盘片上的数据;主轴马达,可以转动盘片,让机械手臂的磁头在盘片上面读写数据;扇区为最小的物理存储单位,每个扇区为512字节;将扇区组成一个圆,那就是柱面,柱面是分区的最小单位;第一扇区非常重要,里面有硬盘主引导记录及分区表,其中主引导记录MBR占有446字节,分区表占有64字节

2017-02-22 14:31:36 572

原创 鸟哥的linux私房菜读书笔记7

第七章:linux文件与目录管理相对路径与绝对路径;绝对路径一定是由根目录写起;相对目录则不是;cd命令是用来切换目录的;还有一些比较特殊的目录:.代表当前目录;..代表上一层目录;-代表前一个工作的目录;~代表目前用户身份所在的主文件夹;~account代表这个用户的主文件夹;所有目录下面都会存在两个目录,分别是.和..,分别代表当前目录和上一层目录;根目录的上一层目录还是根目录;常

2017-02-21 20:31:51 281

原创 鸟哥的linux私房菜读书笔记6

第六章:linux的文件权限与目录配置文件所有者;用户组;ls是list的意思,重点在于显示文件的文件名和相关属性。参数-al表示列出所有的文件详细的权限与属性,包含隐藏文件(文件名第一个字符为‘.’)。第一列表示这个文件的权限与类型,包含十个字符;第一个字符代表这个文件是“目录、文件或链接文件等”;若是d则是目录;若是-则是文件;若是l则表示是链接文件;若是b则表示设备文件里

2017-02-21 20:30:46 467

原创 鸟哥的linux私房菜读书笔记5

第五章:首次登陆与在线求助Linux默认会提供6个terminal来让用户登录,切换的方式为ctrl+atl+f1~f6的组合按钮;ctrl+atl+f7:图像界面桌面;Linux默认的登陆模式中,主要分为两种,一种是仅有纯文本界面的登录环境,可以由tty1~tty6的终端界面,另一种是图形界面的登录环境tty7;终端输入exit注销linux,即离开系统,并没有关机;命令行模式的

2017-02-20 23:13:09 223

原创 鸟哥的linux私房菜读书笔记4

第四章:安装centos.5.x与多重引导小技巧Swap:内存交换空间,由于swap并不会使用到目录树的挂载,所以用swap就不需要指定挂载点。重点回顾:不论你要安装什么样的linux操作系统,都应该事先规划,例如分区、引导装载程序等;建议练习机安装时的磁盘分区能有/,/boot,/home,swap四个分区;调整开机启动设备的顺序必须要重新启动并进入BIOS系统调整;安装

2017-02-20 23:12:11 224

原创 鸟哥的linux私房菜读书笔记3

第三章:主机规划与磁盘分区在linux系统中,每个设备都被当成一个文件来对待。例如IDE接口的硬盘的文件名即为:/dev/hd[a-d],括号中的为a-d中的任意一个,例如/dev/hda、….等四个文件,[]只是一种表达方式;打印机为/dev/lp0,软盘为/dev/fd0;每个磁盘驱动器的磁盘分区不同时,其磁盘文件名还会改变;主机通常提供两个IDE接口,每个IDE接口又可以连接两个ID

2017-02-20 23:11:35 214

原创 鸟哥的linux私房菜读书笔记2

第二章:linux如何学习Linux kernel非常小巧精致,可以在很多省电以及较低硬件资源的环境下面执行;重点回顾:linux在企业应用方面,着重于网络服务器、关键任务的应用及高性能运算等任务;linux在个人环境的使用上着重于桌面计算机、手持系统、嵌入式系统;linuxdistributions有针对桌面计算机所开发的,例如ubuntu,opensuse及fedora等,

2017-02-20 23:10:32 173

原创 鸟哥的linux私房菜读书笔记1

第一章:linux是什么?Linux是一套操作系统,由内核和系统调用接口那两层构成,不含有其他应用程序。硬件由内核控制,每种操作系统都有自己的内核,windows是针对x86架构的硬件设计的,所以他只能够在x86的计算机上面运行。Linux提供了一个完整的操作系统中最底层的硬件控制与资源管理的完整架构,可以再x86上运行。虽然linux仅是其内核与内核和提供的工具,不过由于内核、内核工具与

2017-02-20 23:09:33 235

原创 鸟哥的linux私房菜读书笔记0

第零章:计算机概论计算机:接受用户输入指令和数据,经过中央处理器的数据和逻辑单元运算处理器处理后,以产生或存储成有用的信息。计算机硬件的五大单元:输入单元、输出单元、CPU内部控制单元、算术逻辑单元和内存。CPU作为一个具有特定功能的芯片,里面含有微指令集,一条微指令集对应一个汇编语句。CPU内分为算术逻辑单元与控制单元,算术逻辑单元主要负责程序运算与逻辑判断,控制单元主要协调各组件与各单

2017-02-20 23:08:34 248

转载 前缀、中缀、后缀表达式

原文地址:http://blog.csdn.net/antineutrino/article/details/6763722/它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 + 4) × 5 - 6 就是中缀表达式- × + 3 4 5

2017-02-13 14:49:16 236

原创 Sudoku Solver

先看题:Write a program to solve a Sudoku puzzle by filling the empty cells.Empty cells are indicated by the character '.'.You may assume that there will be only one unique solution.

2017-01-16 10:48:59 200

原创 [LeetCode] Median of Two Sorted Arrays 两个有序数组的中位数

There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). 这道题让我们求两个有序数组的中位数,而且

2017-01-11 23:07:41 148

转载 C++ 虚函数表解析

前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。  关于虚函数的使

2016-12-23 20:53:58 191

转载 指向函数的指针

之所以想写一篇函数指针的文章,源于函数指针在C/C++编程中使用的广泛性,而对于一些初级编程者来说对函数指针的使用或许有些迷惑,而一旦在适当的时候使用了函数指针,会使代码简洁有力。本篇介绍的是函数指针的基础部分,函数指针复杂的应用将在下一篇介绍。一  指向普通函数的指针先来看一个函数:[cpp] view plain copyint Sum(

2016-12-22 15:42:34 306

转载 C++ 结构体实例和类实例的初始化

结构体实例(包括共用体)和类实例的初始化方法完全相同,二者都可以应用于继承层次中。不同点是结构体(包括共用体)默认成员为public,而类默认成员是private型的。一、若类和结构体所有数据成员均为public型,可采取如下带花括号形式进行初始化。注意:①        不论值的个数多少,都必须使用花括号定界②        未指定值的数据成员编译器会自动初始化为

2016-12-09 13:40:46 1884

转载 C++ int与string的转化

int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)—前缀加0,16进制(hex)—前缀加0x或者0X。string前后加上双引号,告诉编译器把它当成一串字符来解释。注意:对于字符,需要区分字符和字符表示的数值。比如:char

2016-12-08 11:58:40 223

转载 C语言字节对齐

一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。     二、为什么要字节对齐      需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果

2016-12-08 10:47:21 265

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2016-12-08 10:24:28 145

原创 输入输出流相关操作

最近在输入输出流上载了好多次,所以看了资料,决定写下来供大家参考,欢迎指正:首先明确一点,输入cin和输出cout有四个状态:godbit   无错误 Eofbit    已到达文件尾 failbit     非致命的输入/输出错误 badbit    致命的输入/输出错误 badbit是一些系统底层或者硬件出错,比如文件系统错误,磁盘错误,网络错误等;不可恢复fail

2016-12-08 09:42:25 278

转载 cin.fail(), cin.bad(), cin.good(), cin.clear(), cin.ignore()

我们经常会看到程序中会出现 cin.clear(),cin.ignore(), cin.fail()等函数。这些函数都是与cin的错误处理有关的。这一节我们来分析一下cin的错误处理机制,并且学习几个重要的函数:cin.fail(), cin.bad(), cin.good(), cin.clear(), cin.ignore()等。         程序执行时有一个标志变

2016-12-07 23:11:17 1315

原创 C++ 的 cin/cout 为什么比 C 语言的 scanf/printf 慢

为什么c的scanf(printf)比c++的快。网上说加上std::ios::sync_with_stdio(false);就差不多了。做个简单测试:#include#include#include#include#define num 1000000int main(){        //新建一个data.txt文件,保存随

2016-12-07 19:51:34 732

转载 C++ 继承中的内存布局(经典)

今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。原文地址:http://blog.jobbole.com/108457/——谈VC++对象模型(美)简.格雷程化    译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细 节。对于使用VC+

2016-12-07 10:27:55 327

转载 C++ 初始化列表

何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ; foo(s

2016-12-05 17:09:45 149

转载 Struct和Class的区别

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什么区别?最本质的一个区别就是默认的访问控制: 默认的继承访问权限struct是pu

2016-12-05 16:46:51 157

转载 深入理解C++中public、protected及private用法

初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来十分分析一下C++中public、protected及private用法。相信对于大家深入掌握C++程序设计会有很大的帮助。这里我们首先要明白下面几点。1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用

2016-12-05 15:50:31 261

转载 C++虚继承的概念

C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生类名:virtual 继承方式  基类名virtual是关键字,声明该基类为派生类的虚

2016-12-05 15:32:31 178

原创 [LeetCode]String to Integer (atoi)实现

将字符串转换为整数。      提示:仔细考虑所有可能的输入情况。如果你想要一个挑战,请不要在下面看到,问自己什么是可能的输入情况。      指出:它是用于指定这个问题(即没有给定的输入规格)。你是负责收集所有的输入要求。题目没有给出具体的要求,只说明让把string转换为int型然后考验答题者能不能够全面去考虑这道题,只要把各方面考虑到这道题其实不难。下面是我总结的几个

2016-11-21 21:34:12 239

原创 链表及其各种函数操作的实现方法

基础数据结构的实现虽然简单,但是对初学者来说亲自动手实现还是很有帮助的

2016-11-21 16:52:55 494

原创 [LeetCode]最长回文子串(Longest Palindromic Substring)

该题网址:https://leetcode.com/problems/longest-palindromic-substring/这道题开始采用了最笨的方法,也是看到原题后的第一个思路,回文子串有两种情况,一种是最中间为单个字符,另一种是中间有两个字符,所以我写了两个循环,分别求出两种情况的最大回文子串的长度,然后比较那个大就返回那个,所以最后的代码就跟屎一样长cl

2016-11-21 16:14:55 310

原创 [LeetCode]关于Add Two Numbers的一点想法

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public:

2016-11-21 12:14:34 187

空空如也

空空如也

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

TA关注的人

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