自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

piniheaven的专栏

总是乐于把自己学到的东西和别人分享。

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

原创 Linux Commands for Beginners--Arithmetic in Bash--expr,let commands

In this part,I will show you how to do some arithmetic calculation in Bash.1.COMMAND:      expr  DESCRIPTION:       Print  the  value of EXPRESSION to standard output.  SYNOPSIS:       e

2013-09-03 17:10:42 1099

原创 Linux Commands for Beginners--Finding Files

In this part, I demonstrate how to find files.1.COMMAND:      findDESCRIPTION:   search for files in a directory hierarchySYNOPSIS:       find OPTION:     -mtime n   File's data w

2013-09-03 15:16:10 883

原创 Linux Commands for Beginners--Head and Tail Command

In this part, I go over both the head and tail commands.1.COMMAND:     headDESCRIPTION:     Print  the  first  10 lines of  FILE to standard output. SYNOPSIS:       head [OPTION]... [FIL

2013-09-03 15:10:31 959

原创 Linux Commands for Beginners--The Watch Command

In this part, I talk about the watch command.1.COMMAND :      watch  DESCRIPTION :      execute a program periodically, showing output fullscreen  SYNOPSIS :       watch [option]  

2013-09-02 21:54:42 760

原创 Linux Commands for Beginners--Viewing Resources--du,df,free commands

In this part, I talk about viewing system resources.1.COMMAND :       df DESCRIPTON :       report file system disk space usageSYNOPSIS :       df [OPTION]... [FILE]...OPTION :

2013-09-02 21:16:55 727

原创 Linux Commands for Beginners-- Regular Expressions--the grep command

In this part,I wil show you the basis of  Regular Expressions and the grep command1.Command:     grep  DESCRIPTION:     print lines matching a pattern  SYNOPSIS:     grep [OPTIONS] P

2013-08-31 17:23:26 805

原创 Linux Commands for Beginners-- FTP for Remote Administration

In this part,I will show you how to remotely  transfer files to linux via Windows using FTP.Step1:install vsftpd( Very Secure FTP Daemon)root@piniheaven:~# apt-get install vsftpdReading

2013-08-31 14:50:23 834

原创 Linux Commands for Beginners---SSH for Remote Administration

in this part,I will show you how to remotely administer your Linux servers using SSH.It's pretty easy!What you need to do just a few steps.Step1:install Secure Shellroot@piniheaven:~# sudo a

2013-08-31 02:30:01 905

原创 linux中级进阶01--linux分区的注意事项,特殊目录,pwd,mkdir命令再次介绍以及执行文件路径的变量: PATH

说明: 这里的中级进阶只是相对的,在该系列中级进阶将只涵盖一些常用命令的进一步介绍,安装软件,脚本编程,简单的系统管理。        参考资料:鸟个的私房菜;youtube上的一些视屏教程。       所有命令在centOS6.4测试通过。1.不可与根目彔(/)放置到不同的 partition 中的目录。  /etc(配置文件), /bin(一般身份可用执行文件) 

2013-08-30 14:50:33 897

原创 Linux Commands for Beginners--which and whatis commands

In this tutorial, I talk about the which and whatis commands.1.COMMAND:       which  DESCRIPTION:      locate a commandSYNOPSIS       which  commandName Example:piniheaven@

2013-08-27 20:39:38 750

原创 Linux Commands for Beginners--The .bashrc File

In this tutorial I talk about the .bashrc file which you can use to make your aliases and variables regenerate each login.Example:In your home derectory,there exist a .bashrc file.If not,you c

2013-08-27 19:56:17 735

原创 Linux Commands for Beginners--Create Your Own Commands Via alias

In this part, I will show you how to create your own commands via aliase. 1.COMMAND:    alias  DESCRIPTION:    The alias command can be useful if you want to create a 'shortcut' to a c

2013-08-27 18:59:29 660

原创 Linux Commands for Beginners--Creating Your First Scripting

In this part, I give you an introduction to scripting.Example:Step1: create a scriptingpiniheaven@fish:~/Documents$nano MyScript  piniheaven@fish:~/Documents$ cat MyScript #!/bin

2013-08-27 17:16:37 667

原创 Linux Commands for Beginners-- Echo And Creating Variables

In this part, I introduce the echo command as well as creating variables. This tutorial is pretty easy,but very important to bash scripting which I will introduce in following tutorials.1.COMM

2013-08-27 15:57:27 1378

原创 Linux Commands for Beginners-- Changing Permissions --chmod command

In this part, I go over changing permissions of files and folders.   1.COMMAND:    chmod  DESCRIPTION:     change file mode bits  SYNOPSIS:     chmod [OPTION] [ugoa][+-=][rwx]  FILE

2013-08-27 14:43:34 711

原创 Linux Commands for Beginners--Changing Ownership --chown command

In this part, we'll learn how to change ownership of files and folders.1.COMMAND:     chown DESCRIPTION:   change file owner and groupSYNOPSIS       chown [OPTION]... [OWNER][:[GRO

2013-08-25 21:58:25 772

原创 Linux Commands for Beginners--The top Command

In this part I demonstrate the top command, which is useful for displaying an overview of system resources1.command:     top  description:      display Linux tasksinteractive comma

2013-08-23 16:23:50 630

原创 assembly language programm--define your own function

start:      mov ax,12345d     ; move data 12345 to ax      call print_num      ;call print_num function that defined by yourself      mov ah,4Ch          ;INT 21h / AH=4Ch - return control to th

2013-08-20 17:01:55 669

原创 assembly language programm--HelloWorld

after couple of days studying assembly language,I decided to make some summary,covering the basises of assembly language.code:jmp start    ;jump to start label str: db  "Hello,As

2013-08-19 21:17:04 712

原创 C++数据结构--回溯算法--八皇后问题

1.回溯算法:      回溯算法也叫试探法,它是一种系统地搜索问题的解的方法Example:八皇后问题在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。对于方格(ROWi,COLj)内的皇后,可对其攻击的皇后位置坐标(row,col)满足上对角线:      col+row

2013-08-12 10:29:10 6907

原创 C++数据结构--背包问题

1.背包问题是最优化问题的一个具体例子  问题可以描述为:       给定一组物品,每种物品都有自己的大小和价格,在限定的总大小内,我们如何选择,才能使得物品的总价格最高。  背包问题有几个版本,这里只研究0/1版本,即需要作出决策来选择(1)或抛弃(0)集合中的一个物品。  Example:给出5个物品,背包容量为12      问题求解过程图解  矩阵

2013-08-11 09:49:02 1106

原创 C++数据结构--自顶向下和自底向上的动态编程思想

1.自顶向下的动态编程  Example:计算组合数  组合定义:  从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;  从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数.用符号c(n,m) 表示. 推导:  从M个元素中任意指定一个元素。则选出N个的方法中,包含这一个元素

2013-08-10 16:07:27 1174

原创 C++数据结构--动态编程

1.动态编程  当分而治之算法划分的子问题不是相互独立时,直接的递归实现会因为子问题相互重叠导致惊人的多余计算和函数调用,甚至为指数递增  Example:用递归实现斐波那契序列     实现代码:  int fib(int n){if(n return n;else return fib(n-1)+fib(n-2);} 

2013-08-10 14:22:26 859

原创 C++数据结构--全排列

1.排列  n个元素的全排列种数等于n!  Example:4个元素的所有24个排列     可以使用树来设计排列的递归算法,从第一层结点到叶子节点的路径对应着一个排列,如下图阴影部分  每个排列就是有n个元素的向量  步骤:  下标0:使用迭代过程从原来的那个向量生成4个新的向量,方法是将索引范围[0,4)中的每个元素与索引值为0的元素

2013-08-10 12:26:33 867

原创 C++语法基础--istream,流状态及其影响,get(),getline(),ignore()

1.cin对象将标准输入表示为字节流。2.istream类重载了抽取运算符>>,使其能够识别基本类型数据。  *hex,oct,dec控制符可以和cin一起使用,来指定将整数输入解释为十六进制,八进制,十进制   Example: int main(){   int x;   cin>>hex>>x; //f   cout//15      return

2013-08-10 09:36:19 2708

原创 C++数据结构--组合学--查找集合的所有子集

1.查找所有子集  对于集合S,如果S有n个元素,则它有2的n次方个子集  问题求解步骤:   *假设S有n个元素,从S中删除元素x,剩下n-1个元素构成一个新的集合S1,则S1有2的n-1次方个子集.   *将元素x加入S1中的每个子集中,这样就产生了新的2的n-1次方个子集,这些新子集和S1构成了集合S的所有子集    Example:对于集合S{1,2,3}   

2013-08-10 08:54:19 2269

原创 C++数据结构--快速排序

1.对向量数组v{800,150,300,650,550,500,400,350,450,900}进行快速排序,索引[first,last)=[0,10)  *将v的元素划分为两个子表s1和S2,子表S1的元素都=中心值    step1:取pivot=v[mid]=v[5]=500,作为中心值,并与v[first]交换,其中mid=(first+last)/2          整数

2013-08-09 18:43:15 903

原创 C++语法基础--输出格式控制--setf(),标准控制符,iomanip中的格式控制

11.控制小数显示格式   fmtflags setf (fmtflags fmtfl);         Set specific format flags         sets the stream's format flags whose bits are set in fmtfl, leaving unchanged the rest    其中fmtflags是b

2013-08-09 07:44:56 4154

原创 C++语法基础--ostream,cout及其格式控制,缓冲区

1.C++程序把输入和输出看作字节流:输入时,程序从输入流中抽取字节;输出是,程序将字节插入到输出流中。流充当了程序和流源或流目标之间的桥梁。2.缓冲区是用作中介的内存块,它将信息从设备传输到程序或从程序传输给设备的临时存储工具。3.在程序中包含iostream文件将自动创建8个流对象(4个窄字符流,4个宽字符流)  cin对象对应于标准输入流  wcin与cin类似,但处理的

2013-08-08 22:44:50 4681

原创 C++数据结构--归并排序

1.归并算法图解  Example:对向量数组v{...,7,10,19,25,12,17,21,30,48,...}进行局部归并     step1:     step2-step3   step4-step8      step9  2.归并排序  Example:对向量数组v{25,10,7,19,3,48,

2013-08-08 13:23:34 778

原创 C++数据结构--堆排序

popHeap()  ,adjustHeap()详见 C++数据结构--用向量数组实现大(小)根堆的插入和删除1.对已经堆化的数组进行堆排序  2.向量堆化  堆化前的向量数组v{9,12,17,30,50,20,60,65,4,19}    堆化过程示意图     实现代码:#include

2013-08-08 10:08:50 912

原创 C++数据结构--用向量数组实现大(小)根堆的插入和删除

1.基于数组的二叉树  例如,可以用向量数组{5,1,3,9,6,2,4,7,0,8}表示下图的完全二叉树     Tips:  对于结点v[i],可利用下列公式计算其子结点和父结点  左结点:v[2*i+1]  右结点:v[2*i+2]  父结点: v[int((i-1)/2] v[(i-1)/2]  因为i为整数2.大根堆:父结点总是大于或等于它的

2013-08-07 09:50:01 1871

原创 STL模板类的继承

1.STL模板类的继承符合普通的继承规则  *STL提供的模板类有时并不符合需求,例如,vector类并没有提供下标越界检测。这时便可以通过简单的继承,达到目的。  Example:#include #include#include using namespace std;templateclass myVector:public vec

2013-08-06 16:12:54 1769

原创 C++数据结构--.哈希表线性探测开放寻址法与独立表链地址法

1.哈希函数是个定位函数,它用键作为参数,返回表中的索引值  2.线性探测开放寻址法  *调用哈希函数处理键得到哈希值,用值除以表的长度后取余数,从而确定表中的一个位置  *如果该位置非空,则探测下一个位置,到达表最后一项时,折回表头。  *如果回到原来哈希位置上时还未找到空闲位置,说明表已经填满了。   例如:hash(key)=key%11

2013-08-05 13:54:01 4245

原创 C++数据结构--.哈希表独立表链地址法迭代器的设计

1.哈希表独立表链地址法中迭代器的设计  *hashTable:哈希表对象的地址  *currentBucket:迭代器遍历的当前桶的索引  *currentLoc:当前哈希表元素   例如:虚线为遍历元素顺序      实现代码:      Tips:        可以把哈希表独立表链地址法的结构看成二维数组 #ifndef hashIt

2013-08-05 13:53:54 1488

原创 C++数据结构——埃拉托斯特尼筛法以及求集合的交集,并集,差集

1.放入集合中自定义的类通常需要重载==和2.集合存储指定类型的键,且不允许有重复的键3.STL set类迭代器按照递增顺序遍历元素4.集合的应用:埃拉托斯特尼筛法--找出小于等于n的所有素数  *从整数m=2(m=2)的元素      实现代码:   template//找出小于等于n的所有素数set sieve(int n){set

2013-08-04 01:20:10 1542

原创 C++数据结构——二叉搜索树(实现自定义迭代器)

1.二叉搜索树抽象模型和相应的node对象表示  2.从二叉搜索树删除一个节点   (1)如果是叶子节点就直接删除   (2)被删除的节点有左节点,但没有右节点,则将左节点连接到父节点上,例如删除下图节点35              (3)被删除的节点有右节点,但没有左节点,则将右节点连接到父节点上,例如删除下图节点26        

2013-08-02 18:00:10 1772

原创 C++数据结构——二叉搜索树迭代器的实现

1.二叉搜索树迭代器的中序遍历遍历  2.迭代器的++指向中序遍历的下一个节点  *如果右子树不空,则移动到右子树,并沿着左边向下,直到当前节点的左指针为空,例如12的下一节点14  *如果右子树为空,则沿着父指针链向上查找,直到找到以当前节点作为左子结点的父节点,例如23的下一节点25   特殊情况:           (1)沿着父指针链向上查找

2013-08-02 17:34:45 2217

原创 C++数据结构--二叉树的复制和删除

本示例所用到的二叉树:templateclass node{   public:      T val; //节点值 node* left;//左节点  node* right;//右节点  node():val(T()),left(nullptr),right(nullptr){} node(T v, node* l=nullptr,

2013-08-01 08:40:54 4360

原创 C++数据结构--计算二叉树叶子数和深度

1.示例二叉树  2.计算二叉树深度:    *先计算左右子树的深度,然后整棵树的深度就是左右子树深度较大值加1    *递归遍历结束条件:定义空树的深度为-1,于是得到叶子节点的深度计算公式      Depth(叶节点)= 1 + max(depth(左子树),depth(右子树))                    = 1 + ma

2013-08-01 08:31:57 6431 1

空空如也

空空如也

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

TA关注的人

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