- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 C语言修改二进制文件的一部分内容
fopen选项为rb+可以实现更改指定位置的内容,其他位置不变ab+是在原内容后追加w的几个貌似会先清空原来的内容?
2019-05-09 13:36:13
2609
原创 软件构造----多线程注意事项总结
同步:一个线程可以重复请求它已经拥有的锁,同步会记录申请的次数,只有释放的次数和申请的次数一样的时候,锁才能被释放。MIT的例题ADT加锁的原则:1.任何共享的可变数据都要被锁锁保证,就是读和写一定要在一个锁内。2.如果一个表示不变量涉及多个可变数据,那么这些数据全部都要加同一个锁。对于一些方法:这里buf的所有操作都保证了是原子操作,但是这个方法是线程不安全的,当其他线程也在操作这个方法的时候。...
2018-06-10 14:23:16
326
原创 (动态规划)相邻元素差绝对值不超过d的最长子序列问题
问题描述:输入数组 A[0:n]和正实数 d,试设计一个动态规划算法输出 A[0:n]的一个最长子序列,使得子序列中相继元素之差的绝对值不超过 d。分析算法的时间复杂度。这个问题刚开始拿到没啥思路,一直想不到这个问题的最优子结构,后来看到了最长递增子序列问题的解,发现这个问题和最长递增子序列问题的思路类似。以最长递增子序列为例,一个序列a1a2a3...an的最长递增子序列为b1b2b3...bk...
2018-06-09 23:02:54
3122
2
原创 网络流量与布雷斯悖论 1160300929 郑子豪
现实生活中的好多问题都可以用博弈论的知识去解释,比如在交通运输网络中行驶或者是互联网传送数据包,每个人都需要根据自己或他人的选择来对路线进行评估,最后做出最终选择。在开车的时候,有的人觉得如果在起点和终点之间加入一些路径,会让从起点到终点的时间缩短。这是非常朴素的思维,不使用博弈论的手段进行分析的话,你可能永远都认为这是对的,实际上,在分析网络流量模型的时候,会发现一个悖论,增加网络容量可能反而会...
2018-05-21 12:31:36
1109
转载 动态规划------最大子方阵问题
题目:给定一个 n*n 的矩阵 A,矩阵中的元素只取 0 或者 1。设计一个动态规划算法,求解得到 A 中元素全是 1 的子方阵使其阶数达到最大值。这个题我没想到方法,但是百度文库查到了学长的做法,拿到这里分享一下,希望学长不要追究啊~~~分析:其实求解的时候当成m*n的矩阵做就行了。设n阶矩阵表示为A[1...n][1....n],B[i][j]表示前i行前j列所包含的1的个数。最优子结构:C[...
2018-05-12 21:05:19
3808
原创 博弈 郑子豪1160300929
本课程讲了很多东西,而其中我觉得最有意思的部分是博弈论。生活中很多地方都有博弈,在比赛中如何选择球员罚点球以及选择如何防守,在拍卖会上如何在拍卖会上如何投标竞价,国际关系中采取强硬的立场还是温和的立场等等。博弈论提供了一套思维框架,让你可以用来技术性地分析一些现实问题。最典型的例子是囚徒困境,是博弈论给我们揭示的一个惊人(反常识)的现象。Google、百度等搜索引擎巨头的收入命门都是靠拍卖关键字广...
2018-05-09 17:45:05
372
原创 装饰器模式 Decorater
装饰器模式的主要作用是允许向一个现有对象添加新的功能,同时又不改变其结构。相当于对先有对象装饰了一下。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法完整性的前提下,提供了额外的功能。包装完再进行相应的拓展。对于下面这个UML图,我想对Shape的实例进行拓展,那么我就用ShapeDecorator包装Shape。比如说我原先有一个Circle,我想对Circle进行扩展,原先有的东西肯...
2018-04-26 01:09:53
728
原创 两种适配器模式
适配器模式用来解决两个类的接口不匹配但是还想相互调用的情况,比如下面这个情况Target无法直接调用SpecificRequest(不兼容)。那么,解决方案是:用一个适配器来将接口与具体的方法结合起来。这里有两种方案:1.类适配器类适配器就是,我让Adapter来继承Adaptee,实现Target,声明的时候用Tatget t=new Adapter,调用的时候用t.Request()即可。2....
2018-04-26 00:41:07
215
转载 简单工厂,工厂方法,抽象工厂的区别
简单工厂:工厂类直接实现,一个产品抽象类,一个工厂类可以产生多种产品工厂方法:一个抽象工厂类,一个产品抽象类,一个工厂类产生一种产品抽象工厂:一个抽象工厂类,多个产品抽象类。一个工厂类可以产生一系列产品族的产品...
2018-04-13 18:35:15
140
原创 java泛型总结
泛型的好处提高代码的复用性特点解析1.泛型类package xinceshi;class box<T>{ private T object; public void set(T t) {object=t;} public T get() {return object;}}public class Iotest{ public static void main(String...
2018-03-15 19:52:22
162
转载 ubuntu16.04安装搜狗拼音输入法傻瓜式方法
原博客地址:点击打开链接1、下载文件由于我要给多台电脑安装搜狗输入法,所以用的是文件夹安装,不是命令行安装。打开官网http://pinyin.sogou.com/linux,点击自己对应的系统位数安装包,然后下载。2、打开安装目录,调出终端。sudo dpkg -i sogoupinyin_2.1.0.00826_amd64.deb 这一条命令是安装deb,这条应该会报错,看控制台的话是缺少一些...
2018-03-15 16:10:43
430
原创 SC课堂笔记
3-1抽象数据类型的好处:将存储和操作分开。写程序的时候要符合变量命名要求数据类型对比String a="ssd";String b=a;b并没有获得a的引用,所以a和b是独立的.java实现层次性的方式:继承 实现Boxed primitives: Boolean,Integer。。。。万不得已不要用java有操作符类型的重载,如两个字符串相加,但是不允许用户定义操作符重载.类型检查:java...
2018-03-14 08:33:36
169
原创 统计自然语言处理摘要
自然语言处理(NLP)的研究内容1.机器翻译2.自动文摘3.信息检索4.文本分类,值得一提的是,近年来,情感分类已经成为本领域研究的热点5.问答系统6.信息过滤7.信息抽取8.文本挖掘9.舆情分析10.隐喻计算11.文字编辑和自动校对12.作文自动评分13.光读字符识别14.语音识别15.文语转换16.说话人识别自然语言处理面临的困难实现上面的这些应用目标的关键问题就是歧义消解问题和未知语言现象的...
2018-03-13 23:36:27
1025
原创 solidity重点总结
solidity的constant修饰符代表不能用函数修改任何数据.external只能外部调用,internal只能内部调用,如果函数中写了this....则表明这个函数必须从外部调用,但是这种写法不常用,按照大佬的回答做就行了As for best practices, you should use external if you expect that the function will o...
2018-03-10 23:00:10
2544
原创 Vivado运行RTL分析闪退的解决办法
最近学校学习硬件方面的知识,用到了vivado软件,然而我的vivado在RTL分析的时候闪退,画不出电路图,在尝试了各种方法之后,偶然发现了解决办法。就是打开vivado项目的时候用项目文件夹的.xpr文件打开,而不是先打开vivado再找到项目,这个方法亲测可行。希望能够帮到大家 话说成功的在下面评论留个言呗~~~ :)...
2017-11-21 13:44:24
15887
120
原创 String的equals类和Object的equals类的区别
我们知道比较两个字符串是否相等的时候可以用equals方法来判断,如String a = "1";String b = "1";System.out.println(a.equals(b));输出的结果 true而如果是object的equals方法就不同了,假设有一个person类person a =new person(1,"a");person b =new person(1,"a
2017-07-15 21:51:22
512
原创 Java中的数据结构
ArrayList简单来说,ArrayList可以是一种可变数组,利用这样一种方式声明ArrayList<reference type>=new ArrayList<reference type>();其操作与数组类似,以String为例,给出一些常用的函数: add(String s) 添加一个成员 add(int index,String s) 将s加入到数组下标为index的位置,原来
2017-07-15 19:06:00
195
转载 【转载】String,StringBufffer之间的区别以及StringBuffer总结
StringBuffer与String的区别从类型来看:String是字符串常量,而StringBuffer是字符串变量。就是说String是不可改变的,你可能会对下面的代码感到奇怪:String s = "abc";s+="d";其实JVM干的事情并不是真的在String后面加了一个”d”,他执行第一行代码时创建了一个s对象,而执行第二行的时候又创建了一个新的对象,也就是说之前...
2017-07-15 16:51:09
806
代码整洁之道
2017-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人