摘要: 贪心算法的原理和实现 1 基本思想 从问题的某一个初始解出发,通过一系列的贪心选择-当前状态下的 局部最 优选择,逐步逼近给定的目标; 在每个阶段,都作出一个按照()某个评价函数最优的决策,这个评价函数最优称为贪心准则(类似于动态规划的状态转移方程) 2 基本步骤 和动态规划类似 3 性质 一般具有阅读全文
posted @ 2017-04-28 14:18 George1994 阅读(305) 评论(0) 编辑
摘要: 面向对象高级编程 使用__slots__ 因为python是一门动态语言,所以无法避免的会有给一个实例添加各种的属性或者方法的情况,python可以使用这个来限制实力的属性。 但是我觉得这样也不是很好,如果有很多属性的话岂不是都写一长串,而且如果有人忘写了,还是不可避免的出现之前那种说过的情况。总而阅读全文
posted @ 2017-04-22 10:07 George1994 阅读(174) 评论(2) 编辑
摘要: 高级特性 切片 如果想取数组中的部分元素,则可以通过在数组中使用 实现,类似于JavaScript中的 ;其中 都可以为负数,表示以倒数的方式来计算,也可以只写一个负数,也可以什么都不写只有一个:,表示复制整个数组。 如果是 ,表明每隔一段来取一个,比如: 也可以这么写,前6个数每2个取1个: 切片阅读全文
posted @ 2017-04-21 13:59 George1994 阅读(218) 评论(0) 编辑
摘要: 前言 这篇博客是在学习某个网站时记录下来的,所以其纪录的顺序和那个网站里面一样,有些知识点已经大概了解了就不再赘述。 基础 字符串和编码 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF 8编码。 在 版本中,字符串是以Unicode来编码的;当你的源代阅读全文
posted @ 2017-04-19 13:58 George1994 阅读(50) 评论(0) 编辑
摘要: read/write read:负责从描述符fd中读取内容,当读取成功时,read返回实际所读的字节数(大于0);如果返回的值为0,表示已经读到文件结束了;如果返回的值小于0,则出现错误,如果错误为 ,说明错误是由中断引起的,如果是 表示网络连接出了问题。 write:将buf中的nbytes字节内阅读全文
posted @ 2017-04-18 23:05 George1994 阅读(23) 评论(0) 编辑
摘要: 原生API select 函数参数 numfds:文件描述符的最大值+1(为了限制检测文件描述符的范围) readfds:包含所有因为状态变为可读而触发select函数返回文件描述符 writefds:包含所有因为状态变为可写而触发select函数返回文件描述符 exceptfds:包含所有因为状态阅读全文
posted @ 2017-04-18 08:15 George1994 阅读(355) 评论(0) 编辑
摘要: 1 动态规划 1.1 定义 动态规划的核心是状态和状态转移方程。 在记忆化搜索中,可以为正在处理的表项声明一个引用,简化对它的读写操作; 动态规划解决的是多阶段决策问题; 和分治法最大的区别在于:适合于用动态规划的问题,经过分解以后得到的子问题往往不是相互独立的(即下一个子阶段的求解是建立在上一个子阅读全文
posted @ 2017-04-14 20:06 George1994 阅读(248) 评论(0) 编辑
摘要: 阻塞和非阻塞,同步和异步 1 例子 故事:老王烧开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 老王想了想,有好几种等待方式 1.老王用水壶煮水,并且 站在那里 , 不管水开没开,每隔一定时间看看水开了没 。- 同步阻塞 老王想了想,这种方法不够聪明。 2.老王还是阅读全文
posted @ 2017-04-13 00:35 George1994 阅读(984) 评论(3) 编辑
摘要: 前言 说来惭愧,大二时候学的计算机网络好多都不太记得了,不过还好有认真学过,捡起来也挺快的,就是对于现在业界中使用的网络算法的不是很懂; 1 TCP报文段结构 1.1 序号和确认号 序号,是报文段首字节的字节流编号; 确认号,是发送端期望从接收端收到的下一个字节的序号; TCP只接受数据流中国至第一阅读全文
posted @ 2017-04-12 16:35 George1994 阅读(90) 评论(0) 编辑
摘要: 前言 转载请注明出处,感谢! C++11 的新特性 1 变量和基本类型 1.1 long long 类型 扩展精度浮点数,10位有效数字 1.2 列表初始化 初始化的几种不同形式,其中用 花括号 来初始化变量称为列表初始化; 比如: 需要注意的是,当用于内置类型的变量时,这种初始化形式有一个重要的特阅读全文
posted @ 2017-04-09 15:53 George1994 阅读(198) 评论(2) 编辑
摘要: 定义 在图论中,由一个 有向无环图 组成的序列,只要满足下面两种情况则称为拓扑排序: 每个顶点只允许访问 一次 ; 若顶点A在图中存在到达顶点B的路径,则不会存在顶点B到顶点A的路径,也就是说这条路径是 单向 的; 可以从这副图中发现,如果按照DFS的思想,那么其访问结点的结果为 5,2,3,1,0阅读全文
posted @ 2017-04-06 13:42 George1994 阅读(32) 评论(0) 编辑
摘要: 前言 初次学习Shell,对于括号的使用肯定很困惑,所以我打算将其整理成一篇文章 单括号 { } 表达变量的值,在不引起歧义的时候可以省略大括号 例子: 新开多条命令来执行,各个命令之间用分号隔开,最后一个命令必须要分号来隔开; ( ) 命令组 新开多条命令来执行,各个命令之间用分号隔开,最后一个命阅读全文
posted @ 2017-04-05 11:31 George1994 阅读(25) 评论(0) 编辑
摘要: 传递参数 设置权限 chmod +x file.sh 传递参数 ./file.sh parameter1 ... 特殊字符 $ 传递到脚本的参数个数 $ 以一个单字符串的形式显示所有向脚本传递的参数(接收全部的参数并且作为一整块输出) $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的I阅读全文
posted @ 2017-04-05 07:24 George1994 阅读(16) 评论(0) 编辑
摘要: 条件语句 if 需要注意的是 elif下面还有个then for sh 第一种表达方式 for v in item1 item2 item3 itemN do command done 第二种表达方式 for (( i=0;i阅读全文
posted @ 2017-04-05 07:23 George1994 阅读(10) 评论(0) 编辑
摘要: 在函数名 前面加上 function也是同样的效果; 需要注意的地方是 在函数调用之前,需要先声明函数(Shell是逐行执行) 获得参数方法需要通过 $0...$n,其中$0代表文件本身 例子 结果为: 可以发现的是 $? 显示最后命令的退出状态,所以返回了100 这段语句并没有将num进行累加,所阅读全文
posted @ 2017-04-05 07:23 George1994 阅读(13) 评论(0) 编辑